Es数据采集工具之filebeat安装和使用

少年辛苦终身事,莫向光阴惰寸功。这篇文章主要讲述Es数据采集工具之filebeat安装和使用相关的知识,希望能为你提供帮助。

  • 在看filebeat之前我们先来看下Beats
    • Beats是一组轻量级采集程序的统称,这些采集程序包括并不限于:
    • filebeat: 进行文件和目录采集,主要用于收集日志数据。
    • metricbeat: 进行指标采集,指标可以是系统的,也可以是众多中间件产品的,主要用于监控系统和软件的性能。
    • packetbeat: 通过网络抓包、协议分析,对一些请求响应式的系统通信进行监控和数据收集,可以收集到很多常规方式无法收集到的信息。
    • Winlogbeat: 专门针对windows的event log进行的数据采集。
    • Heartbeat: 系统间连通性检测,比如icmp, tcp, http等系统的连通性监控。
  1. 下载安装包
  2. 解压修改配置文件filebeat.yml
    • inputs支持的type有
    • log
    • stdin
    • redis
    • udp
    • tcp
    • syslog
    • outputs支持的type有
    • logstash
    • elasticsearch
    • kafka
    • file
    • redis
    • console
  3. 启动命令./filebeat -c filebeat.yml
  4. 场景讲解
    • inputs为log类型,多个日志文件,格式化输出到控制台
      #=========================== Filebeat inputs ============================= ##配置多个input filebeat.inputs:

    • type: log
      enabled: true
      paths: 配置多个log
      • /home/logstash/echo.log
      • /home/logstash/echo2.log
    • type: log
      paths: 通配符
      • /home/logstash/*_input_msg
    【Es数据采集工具之filebeat安装和使用】#-------------------------------- Console output
    output.console:
    pretty: true
    - **fields配置** ```SHELL ## 添加固定字段 logcate: "dev" ## 添加字段获取系统变量,echo $HOSTNAME ===> s156 nodename: $HOSTNAME ## 输出到根节点,否则会输出 fields.logcate, fields.nodename; ## 如果与filebeat中字段冲突,自定义字段会覆盖其他字段 ##fields_under_root: true ## 设置标签 tags: ["normal"] ## 当包含 DEBUG或者INFO 时,才采集 include_lines: [DEBUG,INFO] # exclude_lines: - type: log paths: - /home/logstash/*_input_msg tags: ["unnormal"] ## 以WARN开头,或以ERROR开头。 include_lines: ["^WARN","^ERROR"]

    • 多行合并
      #指定用于匹配多行的正则表达式 multiline.pattern: ^\\[ #是否“否定”定义的模式:multiline.pattern定义的模式 #negate:否定 multiline.negate: true #指定Filebeat如何把多行合并成一个事件。可选的值是 after 或者 before multiline.match: after

  5. 还有很多其他的配置,比如正则,定义json格式等等。使用时可以具体查找

    推荐阅读