本节书摘来自华章出版社《ELK Stack权威指南(第2版)》一书中的第3章,第3.5节,作者 饶琛琳 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
3.5 Windows系统日志
Logstash社区有众多的Windows用户,本节单独介绍一下对Windows平台系统日志的收集处理。之前介绍过Linux上的系统日志,即syslog的处理。事实上,对于Windows平台,也有类似syslog的设计,叫eventlog。本节介绍如何处理Windows eventlog。
3.5.1 采集端配置
由于Logstash作者出身Linux运维,早期版本中出了不少Windows平台上独有的bug。所以,目前对Windows上的日志,推荐大家在尝试Logstash的同时,也可以试用更稳定的nxlog软件。nxlog更详细的介绍,请阅读本书后面5.5节。
这里先介绍Logstash和nxlog在处理Windows的eventlog时的配置方法。
Logstash配置如下:
图3-1 Ossec仪表盘
input {
eventlog {
#logfile => ["Application", "Security", "System"]
logfile => ["Security"]
type =>"winevent"
tags => [ "caen" ]
}
}
nxlog配置中有如下几个要点:
1)ROOT位置必须是nxlog的实际安装路径。
2)输入模块,在Windows 2003及之前版本上,不叫im_msvistalog而叫im_mseventlog。
下面是一段完整的nxlog配置示例:
3.5.2 接收解析端配置
在中心的接收端,统一采用Logstash来完成解析入库操作。如果采集端也是Logstash,主要字段都已经生成,接收端配置也就没什么特别的了。如果采集端是nxlog,那么我们还需要把一些nxlog生成的字段转换成Logstash更通用的风格设计。
在之前插件介绍章节我们已经讲过,因为在Elasticsearch中默认按小写来检索,所以需要尽量把数据小写化。不巧的是,nxlog中,不单数据内容,字段名称也是大小写混用的,所以,我们只能通过logstash-filter-mutate的rename功能来完成对字段名称的小写化重命名。
配置示例如下: