我使用Ubuntu的服务器。 我尝试在我的rsyslog.conf中设置filter,只接受来自我的D-link的远程日志。
那就是debugging
Debug line with all properties: FROMHOST: 'fromname', fromhost-ip: '192.168.1.1', HOSTNAME: 'DSR-500N', PRI: 4, syslogtag 'KERNEL', programname: 'KERNEL', APP-NAME: 'KERNEL', PROCID: '-', MSGID: '-', TIMESTAMP: 'Oct 2 17:44:08', STRUCTURED-DATA: '-', msg: ' [Kernel] LOG_PACKET[ACCEPT] IN=WAN SRC=11.11.11.11 DST=22.22.22.22 PROTO=ESP SPI=0xf9861ec ' escaped msg: ' [Kernel] LOG_PACKET[ACCEPT] IN=WAN SRC=77.77.77.77 DST=66.66.66.66 PROTO=ESP SPI=0xf9861ec ' rawmsg: '<4>Oct 02 17:44:08 DSR-500N KERNEL [Kernel] LOG_PACKET[ACCEPT] IN=WAN SRC=44.44.44.44 DST=33.33.33.33 PROTO=ESP SPI=0xf9861ec '
这是我的代码:
if hostname == 'DSR-500N' then /var/rsyslog/infolog
但filter不起作用。 我哪里错了?
谢谢!
我试图改变filter。 我用这个代码
:$hostname, regex, "*" /var/rsyslog/infolog
这是工作。 但它适用于所有主机名。 我想过滤这个,但如果我改变
:$hostname, regex, "^k" /var/rsyslog/infolog
它不工作。
有任何想法吗?
尝试使用$hostname而不是hostname
If $hostname == 'DSR-500N' then /var/rsyslog/infolog