2015-05-28 80 views
2

我在运行Red Hat 6的服务器上使用统一日志,从其他服务器接收定向日志消息并使用RSyslog管理它们。到现在为止,/etc/rsyslog.conf有这样的规则:如何在Red Hat上过滤远程系统日志消息?

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

但我不希望记录包含“核心”和“DNAT”的消息,所以我要筛选的所有邮件,加强规则。

我该怎么做?

回答

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更多的例子。

+0

我做到了!这就是: 如果($ fromhost-ip startswith'172.20。',而不是$ msg包含'kernel'),那么/ var/log/mylog.log' – digofreitas