-1

我在 rsyslog.conf 中添加了这一行:

if $msg contains 'arpwatch'          then          /var/log/test.log

问题是如果我有同时包含表达式 (arpwatch) 的日志行,那么只有第一行被记录,而其他行则不被记录。

如果我同时有包含“arpwatch”的行,我如何修改我的表达式以写入日志?

如果将这些行发送到 rsyslog:

2012 年 11 月 10 日 09:56:34 alienvault->/var/log/syslog 11 月 10 日 09:56:34 alienvault arpwatch_eth0: chdir(/usr/arpwatch): 没有这样的文件或目录
2012 年 11 月 10 日 09:56:34 alienvault->/var/log/syslog 11 月 10 日 09:56:34 alienvault arpwatch_eth0:(使用当前工作目录)
2012 年 11 月 10 日 09:56:34 alienvault->/var/log/syslog 11 月 10 日 09:56:34 alienvault arpwatch_eth0:pcap 打开 eth0:eth0:不存在这样的设备(SIOCGIFHWADDR:没有这样的设备)

然后/var/log/test.log我有这条线:

2012 年 11 月 10 日 09:56:34 alienvault->/var/log/syslog 11 月 10 日 09:56:34 alienvault arpwatch_eth0: chdir(/usr/arpwatch): 没有这样的文件或目录

其他的被忽略

4

2 回答 2

0
$template usermsg,"%TIMESTAMP% %HOSTNAME% %programname% %syslogfacility-text%.%syslogseverity-text% :%msg:::sp-if-no-1st-sp%%msg::drop-last-lf%\n"
$ActionFileDefaultTemplate usermsg

if $programname == 'arpwatch' and $msg contains 'arpwatch' then /var/log/test.log
于 2013-08-06T08:01:27.743 回答
0

您检查 rsyslog 的 msg 属性以了解该模式arpwatch- 但它实际上只在记录的消息中......这arpwatch_eth0不是 msg 的一部分

于 2012-11-11T20:40:24.790 回答