Назад | Перейти на главную страницу

Как связать фильтры с rsyslog 5.8

Я пытаюсь создать фильтр rsyslogd, который пересылает сообщения системного журнала с удаленного хоста с уровнем серьезности выше определенного. Я могу сделать это на другом сервере с rsyslogd v8.24. Но я застрял, пытаясь сделать это со старым синтаксисом rsyslogd v5.8.

Единственный фильтр, с которым я добился успеха, это app-name и в настоящее время мои правила:

:app-name, isequal, "app1" @192.168.100.200:514 
:app-name, isequal, "app2" @192.168.100.200:514 

Как я могу добавить фильтр уровня серьезности, чтобы перенаправлялись только сообщения, соответствующие именам приложений И превышающие определенный уровень?

С rsyslogd v8.24 мой фильтр выглядит следующим образом. Было бы еще лучше, если бы был способ воспроизвести это в версии 5.8.

if $fromhost-ip == "192.168.0.50" and $syslogseverity <= 4 then @192.168.200.200:514

Я загрузил и собрал исходные коды 5.8, провел некоторое тестирование и, в общем, все, что вам нужно сделать, это перейти от использования двойных кавычек к одинарным кавычкам для строковых констант в RainerScript. Т.е. пытаться

if $fromhost-ip=='192.168.0.50' and $syslogseverity<=4 then ...

Для других читателей, которым может потребоваться аналогичная сборка, я скачал 5.8 источники и настроил их с помощью debug и imfile (для использования в качестве ввода):

./configure --enable-debug --enable-diagtools --enable-imfile
make

Поскольку я не хотел устанавливать файлы в /usr/local, Я настроил DESTDIR на создание дерева установки в каталоге сборки.

make install DESTDIR=$PWD/x

Затем двоичный файл rsyslogd находится в x/usr/local/sbin/. Аргументы для использования в автономной тестовой конфигурации необходимы -u2 не делать chdir("/"), и -c5 заставляет синтаксический анализ оставаться в синтаксисе версии 5, поэтому запустите с:

rsyslogd -c5 -u2 -i /tmp/pidfile -f my.conf

к которому вам нужно добавить -M$PWD/x/usr/local/lib/ найти модули. Вы можете выполнить проверку синтаксиса файла конфигурации с помощью -N1и запустить с отладкой с -dn.