docker安装filebeat

发布时间:2020-09-25 09:53:58编辑:admin阅读(2574)

    一、概述

    filebeat和beats的关系

    首先filebeat是Beats中的一员。
      Beats在是一个轻量级日志采集器,其实Beats家族有6个成员,早期的ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、cpu、io等资源消耗比较高。相比Logstash,Beats所占系统的CPU和内存几乎可以忽略不计。
    目前Beats包含六种工具:

      • Packetbeat:网络数据(收集网络流量数据)

      • Metricbeat:指标(收集系统、进程和文件系统级别的CPU和内存使用情况等数据)

      • Filebeat:日志文件(收集文件数据)

      • Winlogbeat:windows事件日志(收集Windows事件日志数据)

      • Auditbeat:审计数据(收集审计日志)

      • Heartbeat:运行时间监控(收集系统运行时的数据)

     

    filebeat是什么

    Filebeat是用于转发和集中日志数据的轻量级传送工具。Filebeat监视您指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或 Logstash进行索引。

      Filebeat的工作方式如下:启动Filebeat时,它将启动一个或多个输入,这些输入将在为日志数据指定的位置中查找。对于Filebeat所找到的每个日志,Filebeat都会启动收集器。每个收集器都读取单个日志以获取新内容,并将新日志数据发送到libbeat,libbeat将聚集事件,并将聚集的数据发送到为Filebeat配置的输出。

           工作的流程图如下:

    1.png

    二、安装

    环境说明

    操作系统:centos 7.6

    docker版本:19.03.12

    ip地址:192.168.31.196

     

    这里需要使用filebeat收集主机的/var/log/messages文件,直接发送给elasticsearch。

    关于elasticsearch安装,请参考链接:

    https://www.cnblogs.com/xiao987334176/p/13565468.html

     

    下载镜像

    docker pull elastic/filebeat:7.5.1

     

    启动镜像

    临时启动

    docker run -d --name=filebeat elastic/filebeat:7.5.1

     

    拷贝数据文件

    docker cp filebeat:/usr/share/filebeat /data/elk7/
    chmod 777 -R /data/elk7/filebeat
    chmod go-w /data/elk7/filebeat/filebeat.yml

    编辑配置文件

    # 收集系统日志
    filebeat.inputs:
    - type: log
      enabled: true
      paths:
        - /var/log/messages
    
    filebeat.config:
      modules:
        path: ${path.config}/modules.d/*.yml
        reload.enabled: false
    
    processors:
    - add_cloud_metadata: ~
    - add_docker_metadata: ~
    
    output.elasticsearch:
      hosts: '192.168.31.196:9200'
      indices:
        - index: "filebeat-%{+yyyy.MM.dd}"


    以新的方式启动

    docker rm -f filebeat
    docker run -d \
      --name=filebeat \
      --restart=always \
      -v /data/elk7/filebeat:/usr/share/filebeat \
      -v /var/log/messages:/var/log/messages \
      elastic/filebeat:7.5.1

    等待30秒,查看日志是否有错误

    docker logs -f filebeat

     

    三、查看日志

    访问elasticsearch head

    http://192.168.31.196:9100/

    如果有filebeat索引,说明成功了。

    1.png

     

     

     

    本文参考链接:

    https://www.cnblogs.com/zsql/p/13137833.html


关键字