Что-то у меня не срастается перебросить лог одного кошака в отдельный файл.
Имеем 14.04.4 LTS в качестве сборщика логов (естественно одна из задач)
~$ rsyslogd -version
rsyslogd 7.4.4, compiled with:
FEATURE_REGEXP: Yes
FEATURE_LARGEFILE: Yes
GSSAPI Kerberos 5 support: Yes
FEATURE_DEBUG (debug build, slow code): No
32bit Atomic operations supported: Yes
64bit Atomic operations supported: Yes
Runtime Instrumentation (slow code): No
uuid support: Yes
See http://www.rsyslog.com for more information.
Всё началось с того, что появился кот (catalist), который начал выбиваться из общей стаи и попадать в общий лог сборщика.
Чтобы незаморачиваться, на скороую руку, допиливаю правило (некогда, типа потом дорихтую)
~$ cat /etc/rsyslog.d/20-cisco.conf
if $msg contains 'с2800-' \
or $msg contains 'me3400-' \
or $fromhost-ip == '10.10.10.101' \
then /var/log/cisco.log
& stop
и ... МИМО.
Логи с 10.10.10.101 не попадают под правило. Пришлось настраивать виновника проблемы, но осадочек остался.
И вот решил разобраться, ...
Точнее спросить у коллег - почему fromhost-ip не отрабатывает?
Проверял так: смотрю cisco.log, беру одну из последних записей и перед вышеозвученным правилом добавляю новое
if $fromhost-ip == '10.10.100.10' then /var/log/test/log
& stop
Потом
sudo touch /var/log/test.log
sudo chown syslog:adm /var/log/test.log
sudo service rsyslog reload
И хнена с два - сообщения с выбранного маршрутизатора продолжают падать в cisco.log/
Что я делаю не так?
пробовал
== заменить на
contains и
isequal - бесполезно, такое ощущение, что парсер проходи мимо параметра
fromhost-ip