Конфигурация 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.

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

0
задан 6 December 2019 в 15:49
1 ответ

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

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

0
ответ дан 14 January 2020 в 22:04

Теги

Похожие вопросы