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

конфигурация rsyslog на основе порта

Мне нужна помощь в настройке моего rsyslog служба. Мне было интересно, можно ли настроить удаленное ведение журнала на основе входящих портов. Например:

Если журналы поступают из 172.28.132.43 затем поместите журналы в /var/log/enviromux/ каталог. Если журналы поступают из 172.28.132.43:9191 положить журналы в /var/log/sierra/ каталог. (порт 9191)

Это моя конфигурация, но в строках 4 и 5 есть ошибки. Может ли кто-нибудь сказать мне, что я делаю не так:

1 $template remote-sierras,"/var/log/sierra/%FROMHOST%/%programname%.log"
2 $template remote-enviromux, "/var/log/enviromux/%FROMHOST%.log"
3 if($fromhost=="ZABBIX") then stop
4 if($fromhost=="*:9191") then *.* ?remote-sierras & stop
5 *.* ?remote-enviromux & stop

Моя версия выключена rsyslogэто 8.32.0, и я запускаю его в Ubuntu версии 18.04.3 LTS.

Кто-нибудь может мне с этим помочь? Заранее спасибо!

В документация кажется, предполагает, что fromhost свойство не включает номер порта источника.

Вместо этого вы можете попробовать использовать одно из других свойств для фильтрации этих сообщений. Например, вы можете попробовать что-то вроде if($programname == "sierras")..., if ($msg contains "sierras"), или что-то подобное.