【问题标题】:rsyslog - Avoid pushing certain logs to /var/log/messagesrsyslog - 避免将某些日志推送到 /var/log/messages
【发布时间】:2015-02-09 14:11:58
【问题描述】:

我有一个 ec2 linux 服务器,并且正在使用 rsyslog 跟踪我的应用程序服务器的日志,以便我可以将这些日志推送到 loggly。

问题是,rsyslog 也将这些记录在 /var/log/messages 中,这是我不想要的。有没有办法避免这种情况?我可以过滤掉 /etc/rsyslog.conf 中的某些消息,这样它们就不会被推送到 var/log/messages 吗?

****** 更新 *******

我尝试在 rsyslog.conf 中添加以下行:

if $programname == 'programName' then {
*.err                                                 /var/log/messages
} else {
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
}

但是,在重新启动 rsyslog 后,我看到以下错误:

Dec 11 08:01:46 <hostname> rsyslogd: the last error occured in /etc/rsyslog.conf, line 37:"if $programname == 'programName' then {"
Dec 11 08:01:46 <hostname> rsyslogd: warning: selector line without actions will be discarded
Dec 11 08:01:46 <hostname> rsyslogd-3000: unknown priority name "" [try http://www.rsyslog.com/e/3000 ]
Dec 11 08:01:46 <hostname> rsyslogd: the last error occured in /etc/rsyslog.conf, line 39:"} else {"
Dec 11 08:01:46 <hostname> rsyslogd: warning: selector line without actions will be discarded
Dec 11 08:01:46 <hostname> rsyslogd-3000: unknown priority name "" [try http://www.rsyslog.com/e/3000 ]
Dec 11 08:01:46 <hostname> rsyslogd: the last error occured in /etc/rsyslog.conf, line 41:"}"
Dec 11 08:01:46 <hostname> rsyslogd: warning: selector line without actions will be discarded

我想我的 rsyslog (5.8.10) 版本不支持 if / else。有没有其他方法可以做到这一点?

谢谢。

【问题讨论】:

    标签: rsyslog


    【解决方案1】:

    首先将消息发送到您想要的文件。 然后使用stop 阻止进一步的操作。

    if $programname == 'apache2' then {
        action(type="omfile" file="/var/log/apache2/rewrite.log" name="action-omfile-apache2-rewrite")
        stop
    }
    

    【讨论】:

      猜你喜欢
      • 2015-12-07
      • 2019-01-15
      • 1970-01-01
      • 1970-01-01
      • 2013-07-05
      • 1970-01-01
      • 2019-10-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多