ELK 使用filebeat替代Logstash收集日志

Posted zhangmingda

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ELK 使用filebeat替代Logstash收集日志相关的知识,希望对你有一定的参考价值。

使用beats采集日志

之前也介绍过beats是ELK体系中新增的一个工具,它属于一个轻量的日志采集器,以上我们使用的日志采集工具是logstash,但是logstash占用的资源比较大,没有beats轻量,所以官方也推荐使用beats来作为日志采集工具。而且beats可扩展,支持自定义构建。

官方介绍:

https://www.elastic.co/cn/products/beats

在 192.168.77.134 上安装filebeat,filebeat是beats体系中用于收集日志信息的工具:

[[email protected] ~]# wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.0.0-x86_64.rpm
[[email protected] ~]# rpm -ivh  filebeat-6.0.0-x86_64.rpm

安装完成之后编辑配置文件:

[[email protected] ~]# vim /etc/filebeat/filebeat.yml  # 增加或者更改为以下内容
filebeat.prospectors:
- type: log
   #enabled: false 这一句要注释掉
   paths:
      - /var/log/messages  # 指定需要收集的日志文件的路径

#output.elasticsearch:  # 先将这几句注释掉
  # Array of hosts to connect to.
#  hosts: ["localhost:9200"]

output.console:  # 指定在终端上输出日志信息
  enable: true

配置完成之后,执行以下命令,看看是否有在终端中打印日志数据,有打印则代表filebeat能够正常收集日志数据:

[[email protected] ~]# /usr/share/filebeat/bin/filebeat -c /etc/filebeat/filebeat.yml

以上的配置只是为了测试filebeat能否正常收集日志数据,接下来我们需要再次修改配置文件,将filebeat作为一个服务启动:

[[email protected] ~]# vim /etc/filebeat/filebeat.yml
#output.console:  把这两句注释掉
#  enable: true

# 把这两句的注释去掉
output.elasticsearch:
  # Array of hosts to connect to.
  hosts: ["192.168.77.128:9200"]  # 并配置es服务器的ip地址

修改完成后就可以启动filebeat服务了:

[[email protected] ~]# systemctl start filebeat
[[email protected] ~]# ps axu |grep filebeat
root       3021  0.3  2.3 296360 11288 ?        Ssl  22:27   0:00 /usr/share/filebeat/bin/filebeat -c /etc/filebeat/filebeat.yml -path.home /usr/share/filebeat -path.config /etc/filebeat -path.data /var/lib/filebeat -path.logs /var/log/filebeat
root       3030  0.0  0.1 112660   960 pts/0    S+   22:27   0:00 grep --color=auto filebeat

启动成功后,到es服务器上查看索引,可以看到新增了一个以filebeat-6.0.0开头的索引,这就代表filesbeat和es能够正常通信了:

[[email protected] ~]# curl ‘192.168.77.128:9200/_cat/indices?v‘ 
health status index                     uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   system-syslog-2018.03     bUXmEDskTh6fjGD3JgyHcA   5   1      73076            0     24.8mb         11.6mb
green  open   nginx-test-2018.03.04     GdKYa6gBRke7mNgrh2PBUA   5   1         91            0        1mb        544.8kb
green  open   .kibana                   6JfXc0gFSPOWq9gJI1ZX2g   1   1          3            0     26.9kb         13.4kb
green  open   filebeat-6.0.0-2018.03.04 MqQJMUNHS_OiVmO26NEWTw   3   1         66            0     64.5kb         39.1kb
[[email protected] ~]# 

es服务器能够正常获取到索引后,就可以到kibana上配置这个索引了:
技术分享图片
技术分享图片

以上这就是如何使用filebeat进行日志的数据收集,可以看到配置起来比logstash要简单,而且占用资源还少。

 



以上是关于ELK 使用filebeat替代Logstash收集日志的主要内容,如果未能解决你的问题,请参考以下文章

ELK 架构之 Logstash 和 Filebeat 安装配置

ELK教程3:logstash的部署SpringBoot整合ELK+Filebeat

ELK 之数据收集传输过滤 Filebeat+Logstash 部署

日志分析系统ELK(elasticsearch+logstash+kibana+filebeat)

ELK 堆栈中的 Logstash 和 filebeat

ELK教程3:logstash的部署SpringBoot整合ELK+Filebeat