應用日誌收集方案graylog3比較ELK

Flunted + Elasticsearch + Kibana的方案,發現有幾個缺點:

  1. 不能處理多行日誌,比如Mysql慢查詢,Tomcat/Jetty應用的Java異常打印

  2. 不能保留原始日誌,只能把原始日誌分字段保存,這樣搜索日誌結果是一堆Json格式文本,無法閱讀。

  3. 不符合正則表達式匹配的日誌行,被全部丟棄。

本着解決以上3個缺點的原則,再次尋找替代方案。
首先找到了商業日誌工具Splunk,號稱日誌界的Google,意思是全文搜索日誌的能力,不光能解決以上3個缺點,還提供搜索單詞高亮顯示,不同錯誤級別日誌標色等吸引人的特性,但是免費版有500M限制,付費版據說要3萬美刀,只能放棄,繼續尋找。
最後找到了Graylog,第一眼看到Graylog,只是系統日誌syslog的採集工具,一點也沒吸引到我。但後來深入瞭解後,才發現Graylog簡直就是開源版的Splunk。
我自己總結的Graylog吸引人的地方:

  1. 一體化方案,安裝方便,不像ELK有3個獨立系統間的集成問題。

  2. 採集原始日誌,並可以事後再添加字段,比如http_status_code,response_time等等。

  3. 自己開發採集日誌的腳本,並用curl/nc發送到Graylog Server,發送格式是自定義的GELF,Flunted和Logstash都有相應的輸出GELF消息的插件。自己開發帶來很大的自由度。實際上只需要用inotifywait監控日誌的modify事件,並把日誌的新增行用curl/netcat發送到Graylog Server就可。

  4. 搜索結果高亮顯示,就像google一樣。

  5. 搜索語法簡單,比如: source:mongo AND reponse_time_ms:>5000,避免直接輸入elasticsearch搜索json語法

  6. 搜索條件可以導出爲elasticsearch的搜索json文本,方便直接開發調用elasticsearch rest api的搜索腳本。

本初自出https://testerhome.com/topics/3026?locale=zh-cn


centos7 Graylog3 最新版安裝部署與使用詳解

參考鏈接https://blog.csdn.net/weixin_41004350/article/details/87253316


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章