Rhel
如何禁用遠端緊急事件淹沒 rsyslog 接收器上的控制台?
在集中式日誌記錄設施中,如何防止遠端緊急消息淹沒使用者控制台,同時仍允許預設設置
*.emerg :omusrmsg:*
對於任何本地緊急事件?
特別是,我想將遠端緊急消息記錄到日誌文件中,並可能發送一封電子郵件,但遠端電腦不應中斷主伺服器上的工作。
主伺服器是 RHEL 7.4 x86_64
rsyslog 版本:8.24.0
伺服器端配置(截斷):/ etc/
rsyslog.conf:
$ModLoad imuxsock $ModLoad imjournal $ModLoad imudp $UDPServerRun 514 $ModLoad imtcp $InputTCPServerRun 514 *.emerg :omusrmsg:* $OmitLocalLogging on
/etc/rsyslog.d/listen.conf:
$systemLogSocketName /run/systemd/journal/syslog
創建了一個新的 /etc/rsyslog.d/remote-emerg.conf 文件:
$template myFormat0,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg:::drop-last-lf\n" if $fromhost-ip != '127.0.0.1' and $syslogseverity-text == 'emerg' then { *.emerg /var/log/remote/PANIC;myFormat0 stop }
注意:我嘗試使用 %HOSTNAME% 而不是 %FROMHOST-IP% 但它總是列印 localhost 即使遠端主機名配置正確。
要在本地和遠端主機上測試執行:
logger -p daemon.emerg "TEST from $HOSTNAME"
本地執行列印到 cosole,遠端僅記錄到文件 PANIC