logstash(或 graylog?)與 nxLog 收集事件日誌和 csv 日誌
我目前正在研究使用logstash(或graylog2)整合來自多個伺服器的日誌的可能性。
我仍然對logstash和graylog的區別感到有些困惑。到目前為止,我很欣賞 logstash 的易用性,但我很想听聽其他人的經驗。
此外,logstash 似乎可以獲取 Windows 事件日誌。是否有使用 nxLog 或 snare 的動機?許多人報告使用 nxlog 將事件轉發到遠端 logstash 實例。這是推薦的方式嗎?
暫時我們想從多個盒子合併:
- 視窗事件日誌
- 第三方 csv 文件
提前感謝您的任何回饋。
Logstash 和 Graylog 是非常相似的軟體。它們都旨在通過網路獲取日誌數據並將其儲存在 ElasticSearch 中,稍後可以通過 Web 界面獲取。Graylog2 旨在為大多數人提供合理的開箱即用預設值,而 Logstash 旨在高度可程式,並且最新的次要版本(1.2)包括一個功能相當強大的配置語言,完全支持條件,如 nxlog 有在客戶端。
在 Web 界面方面,Logstash 一般使用 Kibana,而 Graylog2 自帶 Web 界面。我的建議是兩個都試一下,看看你更喜歡哪個。Graylog2 需要更少的修修補補,但 Kibana 在您可以使用自定義報告儀表板執行的操作方面更加強大。
事件日誌輸入旨在從安裝在要收集日誌的 Windows 主機上的 Logstash 代理本地執行。由於 Logstash 代理是用 Java 編寫的,並且 JVM 可以佔用大量記憶體,因此您可能不希望它掛起,除非您的系統上有一堆記憶體在浮動。nxlog 精簡了很多,並且可以很好地提取 Windows 事件日誌數據並使用 JSON 或 GELF 將其轉發到 Logstash。它的配置語法也比 Logstash 的更健壯和功能齊全,因此您可能會發現在轉發事件日誌之前更容易處理複雜的事情,例如在噪音日誌到達伺服器之前過濾掉它們。
Logstash 有一個 CSV 過濾器,所以最好的辦法就是通過 TCP 或 UDP 套接字將原始日誌數據送出給 Logstash 伺服器,然後讓它計算出數據。nxlog 可能具有執行類似操作的功能,但我從未尋找過它。