Rsyslog - 监视自定义日志文件

时间:2015-10-13 14:55:14

标签: apache rsyslog papertrail-app

我正在使用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 个答案:

答案 0 :(得分:0)

我无法解释您描述的症状,但确实注意到可能与之相关的另一个问题。 public class Table<K, V> { public static void main(String args) { Table.Entry<String, Integer> table = new Table.Entry<>(); table.key = "some key"; table.value = 10; } public static class Entry<K, V> { K key; V value; } } 配置标志是一个文件名,其中rsyslog在目标文件(InputFileStateFile)中保持其当前位置。当rsyslog停止时,不会删除状态文件(InputFileName),因此rsyslog知道从哪里开始发送。

对2个不同的底层文件使用相同的状态文件可能会使rsyslog从错误的位置开始,因为stat-apache-error的偏移对/var/log/apache2/error.log不正确。在启用第二个配置时,可以使用不同的状态文件或删除/var/www/html/application/logs/log.php文件。