1. 為什么需要集中的日志系統?
在分布式系統中,眾多服務分散部署在數十台甚至是上百台不同的服務器上,要想快速方便的實現查找、分析和歸檔等功能,使用Linux命令等傳統的方式查詢到想要的日志就費時費力,更不要說對日志進行分析與歸納。
如果有一個集中的日志系統,便可以將各個不同的服務器上面的日志收集在一起,不僅能方便快速查找到相應的日志,還有可能在眾多日志數據中挖掘到一些意想不到的關聯關系。
2. 日志系統選擇與對比
常見的分布式日志系統解決方案有經典的ELK和商業的splunk。為什么沒有選擇上面的兩種方案呢,原因主要是如下兩種:
- ELK目前很多公司都在使用,是一種很不錯的分布式日志解決方案,但是需要的組件多,部署和維護相對復雜,並且占用服務器資源多,此外kibana也在高版本中開始商業化。
- splunk是收費的商業項目,不在考慮范圍。
3. 認識graylog
3.1 簡介
graylog是一個簡單易用、功能較全面的日志管理工具,graylog也采用Elasticsearch作為存儲和索引以保障性能,MongoDB用來存儲少量的自身配置信息,master-node模式具有很好的擴展性,UI上自帶的基礎查詢與分析功能比較實用且高效,支持LDAP、權限控制並有豐富的日志類型和標准(如syslog,GELF)並支持基於日志的報警。
在日志接收方面通常是網絡傳輸,可以是TCP也可以是UDP,在實際生產環境量級較大多數采用UDP,也可以通過MQ來消費日志。
3.2 優勢
- 部署維護簡單
- 資源占用較少
- 查詢語法簡單易懂(對比ES的語法…)
- 內置簡單的告警
- 可以將搜索結果導出為 json
- UI 比較友好
3.3 graylog單機架構圖
3.4 graylog集群架構
4. 安裝與使用
請參考我的另一篇文章:https://www.cnblogs.com/mrhugui/p/11543695.html
參考文檔:
https://blog.csdn.net/weixin_43181696/article/details/84060710
https://www.jianshu.com/p/988561291582