Configuration

rsyslog 模板停止被忽略

  • December 16, 2019

我嘗試配置獲取我的模板以使遠端日誌記錄正常工作,但停止語句被忽略,syslog並且在我生成的文件中記錄了重複記錄%programname%.log。我希望傳入的消息只登錄%programname%.log

ZABBIX是我執行 rsyslog 守護程序的本地電腦。遠端設備是正在登錄的 Sierra 無線設備ZABBIX。但是來自 Sierras 的所有內容都被記錄為重複。這是我在/etc/rsyslog.conf.

$template remote-logs,"/media/jarne/Data/log/%FROMHOST%/%programname%.log", stop
:fromhost,isequal,"ZABBIX" stop
*.* ?remote-logs

我也試過: *.* ?remote-logs & stop*.* ?remote-logs;stop,但我只得到錯誤。

誰能告訴我 stop 關鍵字是如何工作的以及它在哪裡有效?

我在 Ubuntu 18.04.3 上使用 rsyslog 版本 8.32.0。提前致謝!

如果你的主機名是小寫的 zabbix 那麼

:fromhost,isequal,"zabbix" stop
*.* ?remote-logs

應確保您的遠端日誌文件不包含本地消息,前提是這些行位於 rsyslog 配置的末尾。但是,阻止遠端消息發送到本地系統日誌為時已晚。

如果你使用一種叫做RainerScript的新語法會更簡單,你可以在其中編寫類似的東西

if ($fromhost == "zabbix") then {
 *.* /var/log/syslog
} else {
 *.* ?remote-logs
}

引用自:https://serverfault.com/questions/995441