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

Wazuh自定义解码器与规则失效求助:LogTest正常但Windows代理无告警

Wazuh自定义解码器与规则告警不触发问题排查建议

我正在编写Wazuh自定义解码器与规则,该问题已困扰一周。使用wazuh-logtest测试日志可得到预期结果,但通过Windows代理将日志传入Wazuh时,告警未触发。已确认archives.log中的日志条目包含"account"和"computer":"字段。以下是我的解码器与规则配置,求排查建议:

解码器配置

<decoder name="uchtest">
        <prematch>\.*account\.*</prematch>
</decoder>
<decoder name="uchtest_login_child1">
        <parent>uchtest</parent>
        <regex>"computer":"(\.)"\.*Accoun</regex>
        <order>servername</order>
</decoder>

规则配置

<group name="uchtest_login">
        <rule id="100002" level="13">
                <decoded_as>uchtest</decoded_as>
                <description>just logged into $(servername)</description>
        </rule>
</group>

排查与修改建议

  1. 修正正则表达式错误

    • 父解码器<prematch>:\.*account\.*写法错误,\.*表示匹配0个或多个转义的.,实际应改为.*account.*,用来匹配包含account字符串的任意日志内容。
    • 子解码器<regex>:"computer":"(\.)"\.*Accoun无法正确捕获主机名,(\.)仅匹配单个.,正确写法应为"computer":"([^"]+)",可捕获双引号之间的完整主机名;多余的\.*Accoun部分可删除。修改后的子解码器正则:
      <regex>"computer":"([^"]+)"</regex>
      
  2. 验证Windows代理日志转发配置

    • 检查Windows代理ossec.conf,确认日志收集路径、event_channel或log_format配置与测试时的日志格式一致。
    • 查看代理ossec.log是否有日志发送记录,管理器ossec.log是否有接收该代理日志的记录,确认日志链路通畅。
  3. 用实际日志重新测试解码

    • 从archives.log中复制实际转发的日志条目,使用/var/ossec/bin/wazuh-logtest重新测试,确认是否能解码出decoded_as: uchtest和servername字段,排查测试日志与实际日志的细微差异(如空格、转义字符)。
  4. 确认规则配置生效

    • 确保规则文件放置在管理器/var/ossec/etc/rules/目录下,且ossec.conf中已通过<include>引用该文件。
    • 修改配置后重启Wazuh管理器(systemctl restart wazuh-manager)和Windows代理(net stop wazuh-agent && net start wazuh-agent)。
  5. 检查告警日志过滤情况

    • 查看管理器alerts.log,搜索规则ID100002,确认告警是否被更高优先级规则覆盖,或因日志级别设置问题未触发。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 03:33:24