開源日志管理ELK和Graylog區別


一.為什么需要日志管理平台
作為DevOps工程師,會經常收到分析生產日志的需求。在機器規模較少、生產環境管理不規范時,可以通過分配系統賬號,采用人肉的方式登錄服務器查看日志。然而高可用架構中,日志通常分散在多節點,日志量也隨着業務增長而增加。當業務達到一定規模、架構變得復雜,靠人肉登錄主機查看日志的方式就會變得混亂和低效。解決這種問題的方法,需要構建一個日志管理平台:對日志進行匯聚和分析,並通過Web UI授權相關人員查看日志權限。

二.主流日志管理解決方案
關於企業級日志管理方案,比較主流的是ELK stack和Graylog。接下來我會對這兩個常用方案進行對比,來幫助讀者設計出更適合自己的日志收集系統。當然,我也會在后續的文章中,詳細介紹這兩個方案的實施步驟,來幫助讀者快速上手。

三.ELK Stack
目前,最著名的開源日志管理解決方案應該是ELK Stack,之所以稱為Stack,是因為它不是一個軟件包,而是由同一個團隊開發的開源工具組合:Elasticsearch、Logstash、Kibana、及周邊工具。
Elasticsearch:是一個非常強大和高度可伸縮的搜索引擎,可以存儲大量數據並作為集群使用。在ELK Stack中主要存儲收集來的日志,並根據設置的索引,進行日志檢索。
Logstash:具有許多功能的日志轉發器。支持多種類型的輸入、過濾和輸出。此外,Logstash可以處理許多編解碼器,例如Json。
Kibana:用戶界面,可以查看日志條目、創建炫酷的儀表盤。
ELK Stack的優點:
1.成名更早
2.知名度更高

四.Graylog
Graylog是一個強大的平台,基於Scala語言開發。使用它能很容易對結構化和非結構化日志進行管理以及調試應用程序。它依賴Elasticsearch和MongoDB。Graylog的主服務從客戶端節點獲取數據,同時還提供Web接口,方便用戶可視化聚合來的日志。
Graylog的優點包括以下方面:
1.免費的開源工具
2.相比ELK更優秀的報警功能
3.更好的交互,通過跟蹤Graylog收到的錯誤堆棧,工程師可以了解源代碼中的上下文。這大量節省了排錯的時間和精力
4.強大的搜索功能,支持TB級別的查詢
5.有歸檔功能,超過30天的所有內容都可以存儲在廉價存儲中,在出現查詢需求時,可以重新導入到Graylog
6.Python庫支持

五.總結
雖然兩種解決方案在功能上非常相似,但仍有一些差異需要考慮。
兩者之間最重要的區別在於,從一開始,Graylog就定位為強大的日志解決方案,而ELK則是大數據解決方案。 Graylog可以通過網絡協議直接從應用程序接收結構化日志和標准syslog。相反,ELK是使用Logstash分析已收集的純文本日志的解決方案,然后解析並將它們傳遞給ElasticSearch。
在ELK中,Kibana扮演儀表盤的角色並顯示從Logstash收到的數據。Graylog在這點上更方便,因為它提供了單一應用程序解決方案(不包括ElasticSearch作為靈活的數據存儲),具有幾乎相同的功能。因此,部署所需的時間更短。此外,與ELK相比,Graylog開箱即用,且具有出色的權限系統,而Kibana則不具備此功能。作為Elasticsearch的粉絲,我更喜歡Graylog而不是ELK,因為它完全符合我在日志管理方面的需求。
Graylog具有直觀的GUI,並提供警報、報告和自定義分析功能。最重要的是,它能在多個日志源和跨機房收集數TB的數據。基於這些優勢,我更喜歡用Graylog而不是另一個具有類似功能的流行堆棧——ELK。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM