10x系列之Clay.io是如何處理日志的
Clay.io基于Docker來管理服務(wù)器日志,架構(gòu)組合是Docker+Logstash+ElasticSearch,文章對(duì)各個(gè)工具進(jìn)行了簡(jiǎn)單介紹。Clay.io還開源了Docker容器,以幫助開發(fā)者快速構(gòu)建一個(gè)分布式的日志系統(tǒng)。
對(duì)于一個(gè)小團(tuán)隊(duì)來說,管理20多臺(tái)服務(wù)器并不是一件簡(jiǎn)單的事情,當(dāng)發(fā)生故障時(shí),我們需要迅速定位問題。當(dāng)然我們不能挨個(gè)去ssh,這非常耗時(shí)間,在Clay.io我們選擇使用 Logstash來聚合日志。
Logstash概覽
Logstash的部署可以分為兩部分,聚合服務(wù)器(集群)和客戶端服務(wù)器,聚合服務(wù)器可以通過 logstash包運(yùn)行,客戶端服務(wù)器可以通過 logstash-forwarder運(yùn)行,它負(fù)責(zé)將日志傳輸?shù)?logstash實(shí)例。這是我們的配置圖:
注意 logstash-forwarder不會(huì)rotate(分割)日志,日志ratation是一個(gè)將老的日志按照大小或者日期存儲(chǔ)到buckets的過程,做這項(xiàng)工作的工具是
日志分析
Logstash進(jìn)程會(huì)運(yùn)行 ElasticSearch和 Kibana來分析日志,ElasticSearch支持多條件查詢和過濾日志數(shù)據(jù)。
注意你不能對(duì)外暴露ElasticSearch的端口,以免服務(wù)器遭受攻擊。我們就曾經(jīng)被攻擊過,解決方案是將我們的基礎(chǔ)架構(gòu)遷移到 Amazon VPC,這樣所有的服務(wù)都在內(nèi)網(wǎng)環(huán)境中。
Journalist + Scribe
我們已經(jīng)開源了
我們的Docker容器,這樣所有人都可以在幾秒鐘內(nèi)構(gòu)建一個(gè)分布式的日志系統(tǒng)。
本文出自:http://www.open-open.com/lib/view/open1418827153120.html