1 ELK各組件介紹?
ELK Stack是elasticsearch、logstash、kibana是三個開源軟件的組合,
fielbeat是一個輕量級日志收集工具,類似於Linux系統中tail -f監控文件變化的功能。
Logstash是一款開源的日志收集處理框架,負責數據的采集和格式化
Elasticsearch是一個開源的分布式搜索引擎,用於數據的快速索引存儲。
Kibana負責提供web展示功能,Grafana是類似於kibana,也是對后端數據進行實時展示。
2 為什么需要日志分析
閑扯淡。。。主要原因是不想將時間花在幫開發或運營找各種日志上。。
日志主要包括系統級別日志,應用程序訪問和錯誤日志。一般在沒搭建日志分析系統之前獲取日志,都是純手工通過awk,sed,grep解決,而通過日志分析可以近乎時時查看日志,對於出現的致命錯誤日志,或者狀態碼異常等,可以通過配置報警策略以后短信、微信、rtx等報警。
3 拓撲圖
為了幫大家進一步理解日志處理流程,畫了一個拓撲圖。

處理流程:
- filebeat從不同服務端收集日志轉發給logstash處理。
- logstash將filebeat收集的日志進行格式化處理,比如使用logstash的geoip插件,可以做到查看客戶端IP地址信息,比如哪個國家,哪個城市。
- 然后通過elasticsearch對格式化后的數據進行索引和存儲,最后交由kibana或grafana展示。
簡單來說,進行日志處理分析,一般需要經過以下幾個步驟:
- 將日志進行集中化管理(filebeat)
- 將日志格式化(logstash)
- 對格式化后的數據進行索引和存儲(elasticsearch)
- 前端數據的展示(kibana/grafana)
簡單就介紹就到這里了,我們的日志分析系統將通過filebeat + logstash + elasticsearch + grafana實現。
沒有選擇kibana的原因:
- kibana界面太丑了
- 對grafana情有獨鍾,對他感冒
- open-falcon監控也是通過grafana出圖(寫完日志分析之后,會寫open-falcon系列)
