在 NXLog 中选择特定级别的 windows 应用程序日志时出现问题

Issue selecting specific levels of windows application logs in NXLog

我试图通过 NXLog 仅将警告/错误/关键级别的应用程序日志传递到我的 ELK 堆栈。当我有这个配置时

<Input EventLog_In> Module im_msvistalog # this kinda works for me, put * to get everything Query <QueryList>\ <Query Id="0">\ <Select Path="Application">*</Select>\ </Query>\ </QueryList> Exec to_json(); </Input>

一切正常,我正在收集所有级别的应用程序日志。我试过在 <Select Path> 行中输入一个参数,像这样

<Select Path="Application">*[Application/Level=1]</Select>\

然后它自己搞砸了,我什么也没得到。 NXLog 没有报告任何问题,我在 logstash 方面也没有看到任何东西。

我从该线程获得了有关事件查看器查询的信息,并将其调整为适合我的用例: https://serverfault.com/questions/543494/query-specific-logs-from-event-log-using-nxlog

想通了。显然,错误级别的参考不是应用程序,而是系统。我的查询现在看起来像这样并且可以完美运行

<Select Path="Application">*[System[(Level=1 or Level=2 or Level=3)]]</Select>\

我正在使用 Windows Server 2008 R2,fwiw。