ELK日誌平臺原理

  1. 做爲運維工程師,咱們天天須要對服務器進行故障排除,那麼最早能幫助咱們定位問題的就是查看服務器日誌,經過日誌能夠快速的定位問題。目前咱們說的日誌主要包括系統日誌、應用程序日誌和安全日誌。系統運維和開發人員能夠經過日誌瞭解服務器軟硬件信息、檢查配置過程當中的錯誤及錯誤發生的緣由。常常須要分析日誌能夠了解服務器的負荷,性能,安全性,從而及時採起措施糾正錯誤。並且日誌被分散的儲存不一樣的設備上。前端

  2. 若是你管理數上百臺服務器,咱們登陸到每臺機器的傳統方法查閱日誌。這樣是否是感受很繁瑣和效率低下。當務之急咱們使用集中化的日誌管理,例如:開源的syslog,將全部服務器上的日誌收集彙總。node

  3. 集中化管理日誌後,日誌的統計和檢索又成爲一件比較麻煩的事情,通常咱們使用find、grep、awk和wc等Linux命令能實現檢索和統計,可是對於要求更高的查詢、排序和統計等要求和龐大的機器數量依然使用這樣的方法不免有點力不從心。今天給你們分享的開源實時日誌分析ELK平臺可以完美的解決咱們上述的問題,ELK由ElasticSearch、Logstash和Kiabana三個開源工具組成。redis

1)  Elasticsearch是個開源分佈式搜索引擎,它的特色有:分佈式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,多數據源,自動搜索負載等,ELK官網:https://www.elastic.co/安全

2)  Logstash是一個徹底開源的工具,他能夠對你的日誌進行收集、過濾,並將其存儲供之後使用(如,搜索)。服務器

3)  Kibana 也是一個開源和免費的工具,它Kibana能夠爲 Logstash 和 ElasticSearch 提供的日誌分析友好的 Web 界面,能夠幫助您彙總、分析和搜索重要數據日誌。restful

4)  Logstash和Elasticsearch是用Java語言編寫,而Kibana使用node.js框架,在配置ELK環境要保證系統有JAVA JDK開發庫。框架

 

                                       ELK原理拓撲圖運維

u=1919962091,1509935081&fm=15&gp=0.jpg

1)  ELK工做流程分佈式

經過logstash收集客戶端APP的日誌數據,將全部的日誌過濾出來,存入Elasticsearch 搜索引擎裏,而後經過Kibana GUI在WEB前端展現給用戶,用戶須要能夠進行查看指定的日誌內容。ide

同時也能夠加入redis通訊隊列:

圖一;

1.jpg

圖二;

2.png


  2)  加入Redis隊列後工做流程

Logstash包含Index和Agent(shipper) ,Agent負責客戶端監控和過濾日誌,而Index負責收集日誌並將日誌交給ElasticSearch,ElasticSearch將日誌存儲本地,創建索引、提供搜索,kibana能夠從ES集羣中獲取想要的日誌信息。

相關文章
相關標籤/搜索