Logstash 介绍
Logstash是一个具有实时管道功能的开源数据收集引擎,Logstash可以动态地将来自不同数据源的数据统一起来,并将数据规范化为你选择的目的地,清理和大众化你的所有数据,用于各种高级下游分析和可视化用例。
虽然Logstash最初推动了日志收集方面的创新,但是它的功能远远超出了这个用例,任何类型的事件都可以通过大量的输入、过滤器和输出插件来丰富和转换,使用许多原生编解码可以进一步简化摄取过程。Logstash通过利用大量和多种数据来提高你的洞察力。
简单来说,logstash 是一个很牛逼的开源数据收集引擎,并能将日志繁乱的格式字段定义为你想要的。
Hillstone 配置
系统版本:Version 5.5
路径:监控-日志-日志管理-你想搜集的日志-日志服务器-日志分发方式-明文日志(注意一定是明文,默认为二进制日志,logstash拿到后不好处理)
由于可选日志条目较多,我们只拿会话日志进行举例,我们勾选让会话日志先传递给logstash。
Logstash配置
- 新建一个test.conf
1 | [root@localhost config]# vim test-hillstone.conf |
放通防火墙端口,保证防火墙和Logstash的端口连通性,为方便起见,可以先暂时停用Linux的防火墙。具体停用方法可以百度。
我们执行一下配置文件(由于Logstash默认的日志文件只能执行一个项,所以需要重新指定路径。)
1 | [root@localhost logstash-6.2.2]# ./bin/logstash -f config/test-hillstone.conf --path.data data/hillstone-log --path.logs logs/hillstone-log |
我们可以看到,大多数日志都是这两种格式,我们先按照这种格式进行分析
利用logstash内置的正则格式进行日志分析,通过Grok Debugger进行日志切割。(到目前的经验来看,凡是grokdebug分析不出来的,logstash肯定分析不出来,而且grokdebug速度快,效率高,建议多尝试)
1 | eg1: |
我们将变量都定义出来,将日志定义成自己想要的,后面可以根据字段进行删减。
- 好了,废话不多说,大体思路是这样。下面我将.conf配置文件贴出来,有问题可以多沟通。
1 | [root@localhost config]# cat hillstone.conf |