本站所有文章均为原创,如对您有帮助,恳请帮忙点击任何一处广告
  • 首页
  • ELK Stack
  • 使用Logstash eventlog插件管理Windows系统日志教程

使用Logstash eventlog插件管理Windows系统日志教程

发布:TangLu2017-6-17 21:14分类: ELK Stack 标签: ELK ElasticSearch logstash kibana

由于公司大部分服务器都是Windows系统,偏偏相关文档又非常少,不断踩坑,终于完成了一个半成品,至少可以正常收集Windows系统日志到ES中,并且通过Kibana展示了(还存在中文乱码以及grok过滤的问题后面再研究),下面是在Windows下部署Logstash的详细文档

--------------------安装JDK--------------------

Logstash需要JDK的支持才能运行,所以先安装JDK 1.8

1、JDK 直接到官网下载即可,安装步骤太简单,一直下一步没有什么好说的,所以略过了

2、安装好JDK后需要配置环境变量,Windows下是在系统-高级系统设置里,如图

jdk1.png

2、然后选择“高级”选项卡,点击”环境变量”

jdk2.png

3、新建变量JAVA_HOME,值就是JDK安装路径

jdk3.png

4、新建变量CLASSPATH,变量值为“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”(引号内的内容),如图

jdk4.png

5、编辑PATH变量,在变量最开始增加内容"%JAVA_HOME%\bin;"

jdk5.png

6、重启系统,然后CMD-运行java -version可以看到java版本代表安装成功

--------------------部署Logstash-------------------- 

1、要使用Logstash监控Windows日志需要用到一个eventlog插件,所以我们在Windows服务器上部署了Logstash并保证标准输入输出是正常后,就要安装该插件,首先查看下Logstash是否正常运行

logstash -e 'input { stdin { } } output { stdout {} }'


2、eventlog插件的安装方法

logstash-plugin.bat install logstash-input-eventlog



3、然后给Logstash生成一个配置文件,大致如下:

input {
  eventlog {
    type  => 'WinEventLog'
    logfile => ["Application", "System", "Security"]
  }
}

output{
    elasticsearch{
        hosts=> ["10.254.15.69:9200"]
        index => "winevent-%{+YYYY.MM.dd}"
    }
}


4、后台运行Logstash

logstash-5.3.0\bin\logstash.bat -f C:\logstash-5.3.0\logstash.conf


5、在Kibana里创建索引,这里Index列里输入的信息就是配置文件里配置的index名称,由于第一次操作时没有选择时间戳Time-field name,所以create按钮是灰色的

eventlog1.png

选择时间戳,然后点击create创建索引

eventlog2.png

6、然后Kibana里已经可以收集到系统日志了eventlog3.png

--------------------中文乱码问题--------------------

由于Windows系统日志有中文的存在,在Kibana界面中会成乱码,如图:

luanma1.png

一开始是用公司的服务器在测试,使用codec转换了多个字符编码都没有解决。怀疑是公司服务器系统环境问题,于是在自己电脑上跑了虚拟机测试,结果两次测试得到了解决,终于显示了中文:

luanma2.png

配置文件简化版,第一次使用UTF-8编码依然乱码,且发现Logstash端出现提示说使用了不一致的编码“[logstash.codecs.plain] Received an event that has a different character encoding than you configured.:expected_charset=>"UTF-8"}”:

luanma3.png

于是换成GB2312,再次测试就成功了,配置文件简化版如下:

input {
  file {
    type => "test"
    path => "c:/weblog/*.log"
    start_position => "beginning"
    codec => plain {
  charset => "GB2312"
  }  
             }
}

output{
    elasticsearch{
        hosts=> ["192.168.0.100:9200"]
     index => "test-%{+YYYY.MM.dd}"
    }
}

温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!
et_highlighter51
版权所有:《Linux运维技术学习站点
文章标题:《使用Logstash eventlog插件管理Windows系统日志教程
除非注明,文章均为 《Linux运维技术学习站点》 原创
转载请注明本文短网址:http://www.linuxe.cn/post-365.html  [生成短网址]

已有 1/5606 人参与

评论:

北京北京 2017-11-15 09:42
logstash-input-eventlog这个插件是不是消除了?

发表评论:

欢迎分享Linux运维技术学习站点

欢迎使用手机扫描访问本站,还可以关注微信哦~