Logging
如何阻止某些程序污染消息日誌
我們有一個與 Azure 相關的程序正在執行,它不斷地將以下內容寫入我們的日誌:
Aug 18 06:54:28 log-ids-vm rsyslogd-3000: omazuremds error at connect(). errno=No such file or directory
我們如何阻止某個程序寫入消息日誌?或者,如果我們使用 Ossec 之類的東西進行日誌檢索,我們如何過濾掉它?
我們如何阻止某個程序寫入消息日誌?
通過配置該程序的日誌記錄選項,即使其記錄到文件而不是 STDOUT 或 syslog,或者將日誌級別配置為不那麼冗長/靜音。
或者,因為您似乎正在使用 rsyslog:
Rsyslogd 支持過濾條件,其中之一
~
是靜默丟棄匹配特定模式的消息:如果您想進行一些通用處理但排除一些特定事件,則使用否定可能很有用。您可以結合使用丟棄操作。一個樣本是:
*.* /var/log/allmsgs-including-informational.log :msg, contains, "informational" ~ *.* /var/log/allmsgs-but-informational.log
不要忽略第
~
2 行中的波浪號!在此範例中,所有消息都寫入文件allmsgs-including-informational.log
.然後,所有包含字元串“資訊”的消息都將被丟棄。這意味著“丟棄行”下方的配置文件行(我們範例中的第 2 行)將不會應用於此消息。然後,所有剩餘的行也將寫入文件
allmsgs-but-informational.log
。