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

nxlog异常排查:部分日志带USER.NOTICE标签致rsyslog过滤失效

问题

配置完全相同的情况下,部分日志无法触发rsyslog的fromhost-ip过滤规则,最终落入user.log文件。通过tcpdump抓包发现,这些异常日志本身已带有USER.NOTICE标签,且同一台机器的日志有的带该标签有的不带。

nxlog.conf 配置

Panic Soft
#NoFreeOnExit TRUE

define ROOT     C:\Program Files\nxlog
define CERTDIR  %ROOT%\cert
define CONFDIR  %ROOT%\conf\nxlog.d
define LOGDIR   %ROOT%\data

define LOGFILE  %LOGDIR%\nxlog.log
LogFile %LOGFILE%

Moduledir %ROOT%\modules
CacheDir  %ROOT%\data
Pidfile   %ROOT%\data\nxlog.pid
SpoolDir  %ROOT%\data

<Extension _syslog>
    Module      xm_syslog
</Extension>

<Extension _charconv>
    Module      xm_charconv
    AutodetectCharsets iso8859-2, utf-8, utf-16, utf-32
</Extension>

<Extension _exec>
    Module      xm_exec
</Extension>

<Extension _fileop>
    Module      xm_fileop

    # Check the size of our log file hourly, rotate if larger than 5MB
    <Schedule>
        Every   1 hour
        Exec    if (file_exists('%LOGFILE%') and \
                   (file_size('%LOGFILE%') >= 5M)) \
                    file_cycle('%LOGFILE%', 8);
    </Schedule>

    # Rotate our log file every week on Sunday at midnight
    <Schedule>
        When    @weekly
        Exec    if file_exists('%LOGFILE%') file_cycle('%LOGFILE%', 8);
    </Schedule>
</Extension>

# Snare compatible example configuration
# Collecting event log
 <Input in>
     Module      im_msvistalog
 </Input>
# 
# Converting events to Snare format and sending them out over TCP syslog
 <Output out>
     Module      om_udp
     Host        SYSLOG_IP
     Port        514
     Exec        to_syslog_snare();
 </Output>
 
 # Connect input 'in' to output 'out'
 <Route 1>
     Path        in => out
 </Route>

排查思路

  • 区分Windows事件源差异:同一机器的日志可能来自系统、应用、安全等不同事件源,im_msvistalog默认收集所有事件,不同源事件通过to_syslog_snare()转换时,可能被映射到不同syslog标签。建议在Input模块添加过滤规则,按事件源分类输出,观察USER.NOTICE标签是否和特定源绑定。
  • 打印nxlog处理字段:在Output模块的Exec指令中添加日志打印,比如Exec to_syslog_snare(); log_info("Event: SourceName=" + $SourceName + ", Severity=" + $Severity + ", SyslogTag=" + $SyslogTag);,查看nxlog.log中异常事件的原始字段,对比正常事件的差异,定位标签映射逻辑的触发条件。
  • 验证rsyslog过滤规则:检查rsyslog中fromhost-ip过滤规则的优先级,确认是否有更高优先级的规则提前匹配了USER.NOTICE日志;同时排查网络层面是否存在NAT或代理导致源IP改写,导致过滤规则不生效。可临时开启rsyslog调试模式,记录每条日志的fromhost-ip和标签信息。
  • 排除网络传输干扰:临时将om_udp替换为om_file,把事件输出到本地文件,查看是否存在部分事件自带USER.NOTICE标签的情况,确认标签是nxlog生成还是传输过程中被篡改。
  • 核对nxlog版本映射逻辑:不同版本的nxlog对to_syslog_snare()的实现可能有差异,查阅官方文档确认该函数的事件映射规则,必要时升级到最新稳定版测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 23:35:19