本篇次要来聊一聊 filebeat 的装置部署与应用。
概念
如果你用过 logstash,那么你就会十分疾速的相熟 filebeat,它其实就做一件事件:从 input 读取事件源,通过相应的解析和解决之后,从 output 输入到指标存储库。
下载
首先咱们要去下载安装包,这个比较简单,就不多介绍了
我这里抉择了 rpm 安装包。
装置
我这里用的是 linux 操作系统,把上一步下载到的安装包放到对应的目录下,而后进入到该目录,执行rpm -ivh filebeat-6.6.0-x86_64.rpm
,执行完之后就装置胜利了,咱们能够看到装置的相干门路
配置
rpm 形式装置完之后,它默认的配置文件门路在/etc/filebeat
,如图
filebeat.yml 是一个样例文件,咱们能够基于这个文件来改变本人想要的配置项,filebeat.reference.yml 是蕴含了所有的配置项的文件,咱们能够从外面拷贝本人想要的项。这里介绍几个咱们罕用的配置项,
-
filebeat.inputs
次要用来配置收集的信息起源,咱们用的比拟多的是如下这种形式来收集日志
type 就是收集的类型,enabled 就是是否启用,paths 就是对应的日志文件。这个节点是反对多个类型的收集配置的,如
-
filebeat.modules
这个预计大家用的不多或者说不是很熟,其实这个能够了解为对中间件的日志解析模块,很多中间件输入的日志格局都是固定的,只有这里加了对应中间件的 module 就能够主动帮你解析。通过
./filebeat modules list
能够查看所有反对的 module。 -
output
这里写 output 并不是说这是一个配置节点,是因为 filebeat 反对多种输入,咱们真正在配置的时候是配理论的输入形式,比方 output.elasticsearch、output.file 等。
更多的配置介绍能够查看官网的配置。
启动
执行命令 systemctl start filebeat.service
就能够启动了。而后执行 ps -ef|grep filebeat
查看一下
能够看到曾经启动胜利了,如果你发现没有启动胜利,能够执行 cd /usr/bin
,在这个目录下执行./filebeat -c /etc/filebeat/filebeat.yml -e
,这样会提醒具体的错误信息。比方我这里 filebeat 用的 8.1.2 版本,es 用的 7.9 版本,用启动的时候就提醒 es 版本太老,须要配置 output.elasticsearch.allow_older_versions 为 true。而用systemctl start filebeat.service
启动的时候没有任何提醒,连在 /var/log/filebeat/ 和 /var/lib/filebeat/registry/filebeat/ 都没找到错误信息,这里属实有点坑。
重新启动命令systemctl restart filebeat.service
。
最初看下 es 的内容http://ip:9200/_cat/indices?v
:
能够看到曾经有了,当然咱们能够自定义索引名称。
集成 ElasticSearch
如何应用 filebeat 将日志文件数据同步到 es 中去呢,这里基于例子来讲。我本地有两个日志文件,别离为/usr/local/log/ucs.20220412.0.log
、/usr/local/log/cps-provider.20220412.0.log
,filebeat.yml 做如下配置:
# 输出
filebeat.inputs:
- type: log
enabled: true
paths:
- /usr/local/log/ucs.20220412.0.log
tags: ucs
- type: log
enabled: true
paths:
- /usr/local/log/cps-provider.20220412.0.log
tags: cps
setup.template.name: "my-log"
setup.template.pattern: "my-log-*"
#输入
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["192.168.10.118:9200"]
indices:
- index: "ucs-%{+yyyy.MM.dd}"
when.contains:
tags: "ucs"
- index: "cps-%{+yyyy.MM.dd}"
when.contains:
tags: "cps"
#如果是 es 版本较老,则开启上面这项
#allow_older_versions: true
配置实现之后启动 filebeat,再拜访 es 地址 http://ip:port/_cat/indices?v
看下
咱们新加的两个日志文件对应的索引内容都有了。
如果不小心删了 es 里的数据,如何从新同步?删除 /var/lib/filebeat/registry/filebeat
目录下的 log.json 再重启即可。
总结
总体比较简单,就是出了问题不晓得去哪找日志排查起来比拟坑。
参考资料
官网:https://www.elastic.co/guide/…