ELK安裝指南-介紹篇(一)

主流解決方案
(一)ELK
ELK是三個(gè)開源軟件的縮寫,分別表示:Elasticsearch , Logstash, Kibana , 它們都是開源軟件。

1.1 Elasticsearch 存儲(chǔ)
Elasticsearch是個(gè)開源分布式搜索引擎,提供搜集、分析、存儲(chǔ)數(shù)據(jù)三大功能。它的特點(diǎn)有:分布式,零配置,自動(dòng)發(fā)現(xiàn),索引自動(dòng)分片,索引副本機(jī)制,restful風(fēng)格接口,多數(shù)據(jù)源,自動(dòng)搜索負(fù)載等。
1.2 Filebeat 日志數(shù)據(jù)采集
filebeat是Beats中的一員,Beats在是一個(gè)輕量級(jí)日志采集器,其實(shí)Beats家族有6個(gè)成員,早期的ELK架構(gòu)中使用Logstash收集、解析日志,但是Logstash對(duì)內(nèi)存、cpu、io等資源消耗比較高。相比Logstash,Beats所占系統(tǒng)的CPU和內(nèi)存幾乎可以忽略不計(jì)。 Filebeat是用于轉(zhuǎn)發(fā)和集中日志數(shù)據(jù)的輕量級(jí)傳送工具。Filebeat監(jiān)視您指定的日志文件或位置,收集日志事件。
1.3 Kafka
Kafka是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),它能幫助我們削峰。ELK也可以使用redis作為消息隊(duì)列,但redis作為消息隊(duì)列不是強(qiáng)項(xiàng)而且redis集群不如專業(yè)的消息發(fā)布系統(tǒng)kafka。
1.4 Logstash 過(guò)濾
Logstash 主要是用來(lái)日志的搜集、分析、過(guò)濾日志的工具,支持大量的數(shù)據(jù)獲取方式。一般工作方式為c/s架構(gòu),client端安裝在需要收集日志的主機(jī)上,server端負(fù)責(zé)將收到的各節(jié)點(diǎn)日志進(jìn)行過(guò)濾、修改等操作在一并發(fā)往elasticsearch上去。
1.5 Kibana 展示
Kibana 也是一個(gè)開源和免費(fèi)的工具,Kibana可以為 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以幫助匯總、分析和搜索重要數(shù)據(jù)日志。