Configuration
rsyslog 模板停止被忽略
我嘗試配置獲取我的模板以使遠端日誌記錄正常工作,但停止語句被忽略,
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 }