我使用的是Ubuntu 14.04,我已经设法使用rsyslog将我的Apache错误日志推送到Papertrail。然后我转到监视另一个日志文件,在重新启动并注解掉Apache配置行后,我仍然得到Apache日志被监视!
rsyslog是否在某个地方缓存配置文件?我已经通过sudo service rsyslog restart
和/etc/init.d/rsyslog restart
重新声明了rsyslog。
下面是我当前的配置文件,它似乎在监视我的Apache error.log文件,尽管它被注解掉了。
$ModLoad imfile
$InputFilePollInterval 10
# Apache Error file:
#$InputFileName /var/log/apache2/error.log
#$InputFileTag apache-error:
#$InputFileStateFile stat-apache-error
#$InputFileSeverity error
#$InputRunFileMonitor
# App Error files:
$InputFileName /var/www/html/application/logs/log.php
$InputFileTag apache-error:
$InputFileStateFile stat-apache-error
$InputFileSeverity error
$InputRunFileMonitor
当我注解掉整个文件时,Apache错误就不再被监视了。接下来我该怎么做?
1条答案
按热度按时间s3fp2yjn1#
我无法解释你描述的症状,但确实注意到另一个可能相关的问题。
InputFileStateFile
配置标志是一个文件名,rsyslog在目标文件(InputFileName
)中保持其当前位置。当rsyslog停止时,状态文件(stat-apache-error
)不会删除,因此rsyslog知道从哪里开始发送。对两个不同的底层文件使用相同的状态文件可能会使rsyslog在错误的位置启动,因为
/var/log/apache2/error.log
的偏移量对于/var/www/html/application/logs/log.php
来说是不正确的。要么使用不同的状态文件,要么在启用第二个配置时删除stat-apache-error
文件。