10x系列之Clay.io是如何處理日志的

jopen 10年前發布 | 26K 次閱讀 Clay.io 分布式/云計算/大數據

【編者的話】Clay.io基于Docker來管理服務器日志,架構組合是Docker+Logstash+ElasticSearch,文章對各個工具進行了簡單介紹。Clay.io還開源了Docker容器,以幫助開發者快速構建一個分布式的日志系統。

對于一個小團隊來說,管理20多臺服務器并不是一件簡單的事情,當發生故障時,我們需要迅速定位問題。當然我們不能挨個去ssh,這非常耗時間,在Clay.io我們選擇使用 Logstash來聚合日志。

10x系列之Clay.io是如何處理日志的

這是我的“10x”系列的第二篇文章,如果你錯過了上一篇,可以 點此閱讀。

Logstash概覽

Logstash的部署可以分為兩部分,聚合服務器(集群)和客戶端服務器,聚合服務器可以通過 logstash包運行,客戶端服務器可以通過 logstash-forwarder運行,它負責將日志傳輸到 logstash實例。這是我們的配置圖:

10x系列之Clay.io是如何處理日志的

注意 logstash-forwarder不會rotate(分割)日志,日志ratation是一個將老的日志按照大小或者日期存儲到buckets的過程,做這項工作的工具是 [logrotate](http://linuxcommand.org/man_pages/logrotate8.html)

日志分析

10x系列之Clay.io是如何處理日志的

Logstash進程會運行 ElasticSearchKibana來分析日志,ElasticSearch支持多條件查詢和過濾日志數據。

注意你不能對外暴露ElasticSearch的端口,以免服務器遭受攻擊。我們就曾經被攻擊過,解決方案是將我們的基礎架構遷移到 Amazon VPC,這樣所有的服務都在內網環境中。

Journalist + Scribe

我們已經開源了我們的Docker容器,這樣所有人都可以在幾秒鐘內構建一個分布式的日志系統。

Logstash Server: clay/journalist-public
Logstash-forwarder Server: clay/scribe-public
原文地址: http://zolmeister.com/2014/10/ ... .html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!