Использую ubuntu-server. Я пытаюсь установить фильтр в моем rsyslog.conf для приема только удаленных журналов с моего D-link.
это отладка
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
Но фильтр не работает. Где я не прав?
Спасибо!
Пытался поменять фильтр. Я использовал этот код
:$hostname, regex, "*" /var/rsyslog/infolog
это работа. Но это работает для всех имен хостов. Я бы хотел отфильтровать это, но если я перейду на
:$hostname, regex, "^k" /var/rsyslog/infolog
это не работает.
Любые идеи?
Попробуйте использовать $hostname
вместо просто hostname
If $hostname == 'DSR-500N' then /var/rsyslog/infolog