我正在运行一个 ELK 堆栈并将我的所有 Windows 日志从 nxlog 传递给它,并且我遇到了专门针对 IIS 日志的问题。在 nxlog 中,我在 nxlog.conf 文件中运行它
<Extension w3c>
Module xm_csv
Fields $date, $time, $s-ip, $cs-method, $cs-uri-stem, $cs-uri-query, $s-port, $cs-username, $c-ip, $csUser-Agent, $sc-status, $sc-substatus, $sc-win32-status, $time-taken
FieldTypes string, string, string, string, string, string, string, string, string, string, string, string, string, string
Delimiter ' '
UndefValue -
</Extension>
我没有运行任何解析logstash,当它们出现在elasticsearch / kibana中时,我得到这个巨大的消息输出,
{"message":"2015-10-19 22:17:26 10.10.10.10 GET javascriptScript.js - 443 - 10.10.10.10 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.1;+WOW64;+Trident/7.0;+SLCC2;+.NET+CLR+2.0.50727;+.NET4.0C;+.NET4.0E;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30729) 200 0 0 31\r","@version":"1","@timestamp":"2015-10-19T22:19:08.061Z","host":"10.10.10.10","type":"WindowsEventLog","tags":["_jsonparsefailure"]}
我希望能够解析此消息,并获取所有相关数据。似乎应该可以通过nxlog解析iis日志,然后将json信息传递给elasticsearch。但我不确定这是否是我应该在 nxlog 端或 logstash 端做的事情。我所看到的一切都使用相同的 w3c 扩展,但是我无法使用 nxlog 和 logstash 来解析 IIS 日志来查看大量数据。