0

我可以在 rsyslog 配置中同时使用“$msg contains”和“$fromhost-ip startswith”这两个语句吗?

当我将以下内容用于 rsyslog 配置时,它可以工作!

if $msg contains 'src_port=6699' then -?DynFileA
& ~
if $fromhost-ip startswith '10.10.10.1' then -?DynFileB
& ~

但是当我将它们结合起来时,它失败了!

if $fromhost-ip startswith '10.10.10.1' and $msg !contains 'src_port=6699' then -?DynFileA
& ~

我从互联网上搜索了很多文章,尤其是 rsyslog 办公文档,但没有找到任何有用的建议!

谁能告诉我该怎么做?

4

2 回答 2

0

嗯……你确定你的替代品吗?乍一看,如果您的主机 IP 是 10.10.10.1,您将应用 -?DynFileA 而不是 -?DynFileB。你的第一个例子有两个不同的操作......(不知道它是什么)

问候,

于 2013-05-21T14:31:24.543 回答
0

我现在只想使用完整的 rsyslog Reiner 脚本,您的第一个示例是or,而不是带有两个不同动态文件模板的and,如果这是您想要的,只需将and下面替换为or

if ($fromhost-ip startswith '10.10.10.1') and ($msg !contains 'src_port=6699') then {
    -?DynFileA
    stop
    }
于 2021-04-22T07:35:51.627 回答