前言
當(dāng)我們部署集群服務(wù)器的時(shí)候踩窖,日志文件就會(huì)散落在多臺(tái)服務(wù)器上。查看日志信息就需要到各個(gè)服務(wù)器上去取和查看且叁,我們把這些日志文件歸集到一個(gè)地方統(tǒng)一管理油讯。
這個(gè)時(shí)候ELK系統(tǒng)出現(xiàn)了,ELK是elasticsearch败徊、Logstashh和Kibana三個(gè)系統(tǒng)的首字母組合帚呼。
當(dāng)然ELK不只是查看日志功能這么簡(jiǎn)單,還有更多的應(yīng)用。
概述
Elasticsearch是個(gè)開源分布式搜索引擎煤杀,它的特點(diǎn)有:分布式眷蜈,零配置,自動(dòng)發(fā)現(xiàn)沈自,索引自動(dòng)分片酌儒,索引副本機(jī)制,restful風(fēng)格接口枯途,多數(shù)據(jù)源忌怎,自動(dòng)搜索負(fù)載等。
Logstash是一個(gè)完全開源的工具酪夷,他可以對(duì)你的日志進(jìn)行收集榴啸、過(guò)濾,并將其存儲(chǔ)供以后使用(如晚岭,搜索)鸥印。
Kibana 也是一個(gè)開源和免費(fèi)的工具,Kibana可以為 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面坦报,可以幫助您匯總库说、分析和搜索重要數(shù)據(jù)日志。
ELK工作流程
在需要收集日志的所有服務(wù)上部署logstash片择,作為logstash agent(logstash shipper)用于監(jiān)控并過(guò)濾收集日志潜的,將過(guò)濾后的內(nèi)容發(fā)送到Redis,然后logstash indexer將日志收集在一起交給全文搜索服務(wù)ElasticSearch字管,可以用ElasticSearch進(jìn)行自定義搜索通過(guò)Kibana 來(lái)結(jié)合自定義搜索進(jìn)行頁(yè)面展示啰挪。
部署方式
ELK部署最簡(jiǎn)單的方式就是L-E-K方式,不添加任何其他輔助系統(tǒng)纤掸,部署簡(jiǎn)單快速脐供,容易上手。
第二種方式:在L-E之間添加一層redis輔助借跪,這樣能夠減少日志在服務(wù)端的積壓政己,把壓力轉(zhuǎn)移到ELK系統(tǒng)服務(wù)器上。這種方式添加redis之后掏愁,由于redis是內(nèi)存系統(tǒng)所以響應(yīng)速度很快歇由,而且可以在redis后添加多個(gè)消費(fèi)系統(tǒng)(Logstash),來(lái)擴(kuò)展消費(fèi)能力果港,增強(qiáng)處理速度沦泌。
第三種方式:隨著業(yè)務(wù)的增長(zhǎng),服務(wù)器部署集群辛掠,redis單點(diǎn)故障問(wèn)題等等谢谦,上面的方案已滿足不了我們的需求释牺,這個(gè)時(shí)候我們可以使用Kafka來(lái)代替Redis,Kafka相關(guān)部署這里不詳述回挽,可查看相關(guān)資料没咙。
參考文章
https://www.elastic.co/cn/products
http://467754239.blog.51cto.com/4878013/1700828/
http://baidu.blog.51cto.com/71938/1676798
http://blog.csdn.net/buqutianya/article/details/71941351
http://www.reibang.com/p/797073c1913f