Syslog-Ng
使用 syslog-ng 解析 snmptrapd - 跟不上
(7.x 百)
我有 syslog-ng 設置來解析 snmptrapd 消息,以便我可以格式化它們以供以後消化。問題是 syslog-ng 僅輸出 n-1 消息。IE 如果 snmptrapd.log 中有 10 行 syslog-ng 僅輸出 9 行。如果我向 snmptrapd 發送一條新消息(消息 #11),那麼 syslog-ng 將輸出第 10 條消息。
系統日誌-ng.conf:
@version:3.27 @include "scl.conf" log { source { snmptrap(filename("/var/log/snmptrapd.log")); }; destination { file("/var/log/syslog-ng.log"); }; };
snmptrapd.conf:
authCommunity log,execute,net public authCommunity log,execute,net localtrap format2 %.4y-%.2m-%.2l %.2h:%.2j:%.2k %B [%b]:\n%v\n outputOption s
我嘗試在format2的末尾添加一個額外的換行符,但它沒有幫助。(雖然 snmptrapd.log 確實得到了附加行)
目前,
snmptrap()
源被實現為解析 snmptrapd 輸出的文件源。snmptrapd 日誌是多行的,給定消息的結尾是根據即將到來的消息的前綴檢測到的,因此會出現意外行為。這些是這個外掛的醜陋實現細節(限制),它最終可能會被適當的 SNMP 陷阱源所取代。作為一種解決方法,您可以設置
multi-line-timeout(10)
以 10 秒的延遲處理最後一條消息。