Logstash是一款开源的数据收集引擎,具备实时管道处理能力。简单来说,logstash作为数据源与数据存储分析工具之间的桥梁,结合 ElasticSearch以及Kibana,能够极大方便数据的处理与分析。通过200多个插件,logstash可以接受几乎各种各样的数据。包括日志、网络请求、关系型数据库、传感器或物联网等等。
安装
之前我有一篇文章ElasticSearch + Logstash + Kibana 搭建笔记记录了ELK环境的搭建过程,只是简单介绍了一种安装方式,本文记录更多的细节。
logstash 要求Java8的支持。Java9暂时不支持,本文使用的logstash版本为5.5.1。
在Linux环境中,我们可以通过包管理进行安装,例如Unbuntu中的apt、以及CentOS中的yum。也可以从这里下载对应环境的二进制版本。
体验Pipeline
Logstatsh最基本的Pipeline模式如下图所示,其需要两个必需参数input、output,以及一个可选参数filter。
1 | cd logstash-5.5.1 |
1 |
|
配置完成后等logstash启动后再启动Filebeat。
1 | sudo ./filebeat -e -c filebeat.yml -d "publish" |
接下来配置logstash,按照如下配置编写一个 filebeat.conf 文件
1 | beats { |
配置文件可以用下面的命令验证是否有问题
1 | bin/logstash -f filebeat.conf --config.test_and_exit/ |
如果验证没有问题,就可以用这个配置文件启动 logstash 了。
1 | bin/logstash -f filebeat.conf |
之后再启动Filebeat,就可以在Filebeat终端窗口看到日志信息的输出,同时在logstash这边也能看到有日志输出。这就说明此时logstash已经能够正常接收beats送来的文件了。
参考资料:
1、Logstash Reference
2、Filebeat