You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rsyslog v8.24规则匹配失效 符合条件日志落入未分类路径求助

问题根因排查

1. 核心错误:同一UDP端口重复绑定ruleset

你在配置中三次将UDP 514端口绑定到不同的ruleset,rsyslog对同一端口的输入规则仅会生效最后一次绑定的配置,也就是RemoteLogPort。所有日志直接进入未分类逻辑,前两个分类规则完全没有执行机会,这是日志无法匹配分类的最主要原因。

2. 语法错误:Aruba规则集缺少闭合括号

ArubaNetworksPort的ruleset定义只写了左大括号,没有对应的右大括号,配置加载阶段就会存在语法问题,即使端口绑定正确该规则也无法正常执行。

3. 逻辑缺失:匹配后无终止指令

即使分类规则可以正常执行,你没有在匹配成功的action后加stop指令,日志会继续向下执行后续规则,依旧可能被写入未分类路径。


修复后配置参考

# 分类模板定义
template (name="ArubaNetworksPath" type="string" string="/var/log/rsyslog/aruba-networks/%FROMHOST%/aruba-networks.log") 
template (name="EsxPath" type="string" string="/var/log/rsyslog/esxvmware/%FROMHOST%/esxvmware.log")
template (name="RemoteLogPath" type="string" string="/var/log/remote/unclassified/%FROMHOST%/unclassified.log") 

# 统一的514端口处理规则集
ruleset(name="ProcessRemoteLog") {
    # Aruba Networks日志过滤
    if (re_match($msg, "AP:aaa-bbb01-ccc-ap")) then {
        action(type="omfile" dynaFile="ArubaNetworksPath")
        stop
    }
    # VMware ESX日志过滤
    if (re_match($hostname, "tree-[a-zA-Z]{3}to[0-9]{3}")) then {
        action(type="omfile" dynaFile="EsxPath")
        stop
    }
    # 未匹配日志走未分类路径
    *.* action(type="omfile" dynaFile="RemoteLogPath")
}

# 仅绑定一次UDP 514端口到统一规则集
input(type="imudp" port="514" ruleset="ProcessRemoteLog") 

生效验证步骤

  1. 执行rsyslogd -N1校验配置语法是否正常
  2. 重启rsyslog服务加载新配置
  3. 发送符合规则的测试日志验证分类是否正常

内容的提问来源于stack exchange,提问作者PiKeTemplar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 10:45:01