Мне нужна помощь в настройке моей службы 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")
или что-то подобное.