如何从 nxlog 转发的日志中删除 N/A?

Posted

技术标签:

【中文标题】如何从 nxlog 转发的日志中删除 N/A?【英文标题】:How to get rid of N/A from logs forwarded by nxlog? 【发布时间】:2018-01-02 13:50:52 【问题描述】:

我已在 windows DNS 服务器中启用调试模式,日志文件位于 c:\logs\dns.log

<181>Jan  2 11:41:40 DC-SE-01 MSWinEventLog        1        N/A        1011398786        Tue Jan  2 11:41:40 2018        N/A        N/A        N/A        N/A        N/A        N/A        N/A                        N/A
<181>Jan  2 11:41:40 DC-IN-01 MSWinEventLog        1        N/A        1011398810        Tue Jan  2 11:41:40 2018        N/A        N/A        N/A        N/A        N/A        N/A        N/A                        N/A
<181>Jan  2 11:41:40 DC-IN-01 MSWinEventLog        1        N/A        1011398825        Tue Jan  2 11:41:40 2018        N/A        N/A        N/A        N/A        N/A        N/A        N/A                1/2/2018 11:41:38 AM 0A48 PACKET  00BACCA157DAE01 UDP Snd 11.11.201.81   3b20 R Q [8281   DR SERVFAIL] A      (8)tnmaster(0)        N/A

我认为这些消息并不重要,那么如何从 nxlog 中删除这些消息以及为什么“N/A”在那里?

以下是 nxlog.conf 文件的相关部分

<Input>
Module im_file
File  "C:\logs\dns.log"
InputType LineBased
Exec $Message=$raw_event; $SyslogFacilityValue=22;
</Input>
<Output logger>
Module om_udp
Host 11.11.11.10
Port 514
Exec to_syslog_snare();
</Output>
<Route 3>
    Path dnsdebug => logger
</Route>

【问题讨论】:

【参考方案1】:

Snare syslog 格式基本上是一个制表符分隔的字符串,它假定某些字段,例如 EventID,因为它主要用于通过 syslog 传输 Windows 事件日志。

为了生成输出these fields 需要填充。当您从文件中读取 DNS 日志时,显然这些字段不会自动解析,因此输出在这些位置有 N/A

有关详细信息,请参阅 NXLog 用户指南中的 Snare 主题。 由于您正在尝试收集dns.log,因此Collecting DNS logs 主题也可能是相关的。

【讨论】:

以上是关于如何从 nxlog 转发的日志中删除 N/A?的主要内容,如果未能解决你的问题,请参考以下文章

nxlog 如何跟踪行号?

ELK系列~Nxlog日志收集加转发(解决log4日志换行导致json转换失败问题)

通过 nxlog 将 .log 文件转发到 Graylog2 VM 服务器

NXLog Linux - 处理后删除文件

ELK系列~log4-nxlog-Fluentd-elasticsearch写json数据需要注意的几点

NXLog TCP 模块不工作