基于端口的rsyslog配置

基于端口的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 上运行它。

有人能帮我吗?提前谢谢!

答案1

文档似乎表明该fromhost属性不包含源端口号。

您可以尝试使用其他属性来过滤这些消息。例如,您可以尝试if($programname == "sierras")...if ($msg contains "sierras")或类似的属性。

相关内容