更改/etc/rsyslog.conf
对我的 rsyslog 没有影响。
更改设置后,我拨打电话service rsyslog restart
,它顺利启动。
例如,我尝试注释掉所有规则,但它仍像以前一样记录。每条日志消息都记录到 mysql,但规则规定它只应记录来自远程主机的消息。
这是我的配置文件:
#### MODULES ####
$ModLoad ommysql
$ModLoad imjournal
$ModLoad imudp
$UDPServerRun 514
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IMJournalStateFile imjournal.state
$IMJournalIgnorePreviousMessages on
#RULES
kern.* /dev/console
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
mail.* -/var/log/maillog
cron.* /var/log/cron
*.emerg :omusrmsg:*
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log
if ($fromhost-ip=='123.123.123.123') then :ommysql:localhost,log,log,password
&stop
答案1
由于某种原因,重新启动 rsyslog 似乎无法重新加载所有设置,重新启动系统可以解决问题。
答案2
我在 imfile 模块上遇到了类似的问题。更改 $InputFileStateFile 的值解决了这个问题。似乎 rsyslogd 可能会将状态文件内容保存在内存中,并且在重新启动时不会刷新它们。
Rsyslogd 5.8.10