filebeat简介

本篇主要来聊一聊filebeat的安装部署与使用。

概念

如果你用过logstash,那么你就会非常快速的熟悉filebeat,它其实就做一件事情:从input读取事件源,经过相应的解析和处理之后,从output输出到目标存储库。

下载

首先我们要去下载安装包,这个比较简单,就不多介绍了

filebeat简介_第1张图片

我这里选择了rpm安装包。

安装

我这里用的是linux操作系统,把上一步下载到的安装包放到对应的目录下,然后进入到该目录,执行rpm -ivh filebeat-6.6.0-x86_64.rpm,执行完之后就安装成功了,我们可以看到安装的相关路径

filebeat简介_第2张图片

配置

rpm方式安装完之后,它默认的配置文件路径在/etc/filebeat,如图

image.png

filebeat.yml是一个样例文件,我们可以基于这个文件来改动自己想要的配置项,filebeat.reference.yml是包含了所有的配置项的文件,我们可以从里面拷贝自己想要的项。这里介绍几个我们常用的配置项,

  • filebeat.inputs

    主要用来配置收集的信息来源,我们用的比较多的是如下这种方式来收集日志

    filebeat简介_第3张图片

    type就是收集的类型,enabled就是是否启用,paths就是对应的日志文件。这个节点是支持多个类型的收集配置的,如

    filebeat简介_第4张图片

  • filebeat.modules

    这个估计大家用的不多或者说不是很熟,其实这个可以理解为对中间件的日志解析模块,很多中间件输出的日志格式都是固定的,只要这里加了对应中间件的module就可以自动帮你解析。通过./filebeat modules list可以查看所有支持的module。

  • output

    这里写output并不是说这是一个配置节点,是因为filebeat支持多种输出,我们真正在配置的时候是配实际的输出方式,比如output.elasticsearch、output.file等。

更多的配置介绍可以查看官网的配置

启动

执行命令systemctl start filebeat.service就可以启动了。然后执行ps -ef|grep filebeat查看一下

image.png

可以看到已经启动成功了,如果你发现没有启动成功,可以执行 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

image.png

可以看到已经有了,当然我们可以自定义索引名称。

集成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看下

filebeat简介_第5张图片

我们新加的两个日志文件对应的索引内容都有了。

如果不小心删了es里的数据,如何重新同步?删除/var/lib/filebeat/registry/filebeat目录下的log.json再重启即可。

总结

总体比较简单,就是出了问题不知道去哪找日志排查起来比较坑。

参考资料

官网:https://www.elastic.co/guide/...

你可能感兴趣的:(filebeat日志)