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

求助:修复Wazuh Syslog解码器语法错误与日志匹配问题

Wazuh Syslog解码器修复方案

问题分析

你的解码器存在两个核心问题:

  1. 正则匹配范围错误:Wazuh中<prematch>匹配日志开头的时间后,<regex>仅需匹配剩余内容,但你的正则仍尝试匹配完整日志(包含开头时间),导致匹配失败。
  2. 正则兼容性不足:现有正则仅适配带New的CONNECT日志,无法匹配无New的DISCONNECT日志,且未处理两种日志结尾的格式差异。

修复后的解码器

<decoder name="switch_log">
  <prematch>^\w{3} \d{1,2} \d{2}:\d{2}:\d{2}</prematch>
  <regex>(\S+) %AAA-I-(CONNECT|DISCONNECT):(?: New)? http connection for user (\S+), source (\S+) destination (\S+),? (.*)$</regex>
  <order>hostname, action, user, source_ip, destination_ip, message</order>
</decoder>

关键修改说明

  • 移除重复时间匹配:<regex>不再包含开头的时间部分,仅处理<prematch>之后的剩余日志内容。
  • 兼容两种日志格式:
    • 使用(?: New)?非捕获组,让New字段可选,同时不占用<order>中的字段位置。
    • 添加,?匹配可选的逗号,适配DISCONNECT日志中destination后无逗号的格式。
  • 正则分组对齐:调整后的正则分组与<order>中的字段一一对应,确保解析后字段正确映射。

验证效果

该解码器可同时解析两种日志:

  • DISCONNECT日志解析结果:
    • hostname: 2.2.2.2
    • action: DISCONNECT
    • user: admin
    • source_ip: 1.1.1.1
    • destination_ip: 2.2.2.2
    • message: TERMINATED
  • CONNECT日志解析结果:
    • hostname: 2.2.2.2
    • action: CONNECT
    • user: admin
    • source_ip: 1.1.1.1
    • destination_ip: 2.2.2.2
    • message: local user table ACCEPTED.

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 10:25:09