ELK 需求背景:web
爲何要用到ELK:windows
通常咱們須要進行日誌分析:直接在日誌文件中 awk grep就能夠獲取想要的信息。可是規模較大時,些方法效率很低。安全
日誌歸檔,文本搜索,多維度查詢 ==>> 須要集中化日誌管理服務器
創建集中式日誌收集系統,將全部節點上的日誌統一收集,管理,訪問。 分佈式部署架構,不禁的服務模式部署在不一樣的服務器上,問題出現時,大部分狀況須要根據問題暴露關鍵信息,定位到具體的服務器與服務模塊,構建一套集中式日誌系統,能夠提升定位問題效率。restful
需求:網絡
ELK組件簡介架構
是三個開源軟件縮寫,分別爲:Elasticsearch, Logstash, Kibana 。都是開源軟件。如今還新增了一個Beats,它是一個輕量級的日誌收集處理工具Agent, Beats佔用資源少,適合於各個服務器上搜集日誌後傳輸給Logstash. 目前加了Beats工具因此已經更名爲Elastic Stack.併發
Elasticsearch運維
Elasticsearch是個開源分佈式搜索引擎,提供蒐集,分析,存儲數據三大功能。它的特色有:分佈式,零配置,自動發現,索引自動分版,索引副本機制,restfull風格接口,多數據源,自動搜索負載等。elasticsearch
Logstash
Logstash 主要是用來日誌的蒐集,分析,過濾日誌的工具支持大量的數據獲取方式。通常工做方式爲c/s架構,client端安裝在須要收集日誌的主機上,server端負責將收到各節點進行過濾,修改等操做一併發到elasticsearch上。
Kibana
Kibana 也是一個開源和免費的工具,Kibana能夠爲Logstash和Elasticsearch提供日誌分析友好的web界面,能夠幫助彙總,分析和搜索重要數據日誌。
Beats
Beats 是一個輕量級日誌採集,家族有6個成員,早期的ELK架構中使用Logstash收集,解析日誌,可是Logstash對內存,cpu, io 等資源消耗高。 而Beats所佔系統的CPU,內存能夠忽略不計。
ELK Stack (5.0版本後) -->> ELk Stack + Beats
x-pack 工具
提供安全,警報,監控,報表,圖表於一身的擴展包,是收費的。