如何在Red Hat上过滤远程Syslog消息?

时间:2015-05-28 15:10:44

标签: linux filter redhat rsyslog

我在运行 Red Hat 6 的服务器上使用统一日志,从其他服务器接收定向日志消息并使用 RSyslog 管理它们。到目前为止, /etc/rsyslog.conf 具有以下规则:

if $fromhost-ip startswith '172.20.' then /var/log/mylog.log

但我不想记录包含“kernel”和“dnat”的消息,所以我想过滤所有消息,增强规则。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

这似乎是一个更适合Unix & Linux的问题。在适当地通知这不是正确的地方之后,我会通过回答来破坏规则。

根据您使用的Red Hat版本,您可以通过各种方式使用rsyslogd的conditional filtersRainerScript来表达多个逻辑规则的组合。在Red Hat 6上,您可以使用条件过滤器来完成您想要的任务:

if ( $fromhost-ip startswith '172.20.' and \
     $syslog-facility-text != 'kern' ) then /var/log/mylog.log

您可以从Rsyslog v5 manual找到更多示例。

相关问题