• Docker部署ELK之部署filebeat7.6.0(3)


    1. filebeat介绍

    Filebeat是用于转发和集中日志数据的轻量级传送工具。Filebeat监视您指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或 Logstash进行索引。
    Filebeat的工作方式如下:启动Filebeat时,它将启动一个或多个输入,这些输入将在为日志数据指定的位置中查找。对于Filebeat所找到的每个日志,Filebeat都会启动收集器。每个收集器都读取单个日志以获取新内容,并将新日志数据发送到libbeat,libbeat将聚集事件,并将聚集的数据发送到为Filebeat配置的输出。
    工作流程下:

    2. Docker部署filebeat

    拉取filebeat镜像:
    sudo docker pull elastic/filebeat:7.6.0
    
    新建filebeat.yml文件,便于映射
    filebeat.inputs:
    - type: log
    enabled: true
    paths:
     - /var/log/*.log
    tags: ["filebeat-test"]
    tail_files: true  #每次最后一行
    multiline.pattern: '^[' #分割符
    multiline.negate: true
    multiline.match: after    #最后合并
    - type: log
    paths:
      - "/var/log/apache2/*"
    fields:
     apache: true
    fields_under_root: true
    
    setup.kibana.host: "192.168.231.132:5601"
    setup.kibana.username: 'elastic'
    setup.kibana.password: 'xujingkun'
    
    output.elasticsearch:
    hosts: '${ELASTICSEARCH_HOSTS:192.168.231.132:9200}'
    username: '${ELASTICSEARCH_USERNAME:elastic}'
    password: '${ELASTICSEARCH_PASSWORD:xujingkun}'
    

    输入命令,构建容器
    docker run --name filebeat01 -d --network=mynetwork --ip 172.18.0.6 -v $PWD/var/log/:/var/log/ -v $PWD/data/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml elastic/filebeat:7.6.0
    
    容器构建成功后,可以在/var/log/目录下,创建日志文件**.log,写入内容

    保存文件后,刷新kibana,可以看到日志已经被采集上来

    3. FAQ&遇到的问题

    • filebeat全量采集数据问题,通过映射的日志文件,用gedit修改后,会全量采集数据所有的行数据都被写入到es中
      解决方法:
      参考url:https://discuss.elastic.co/t/err-write-broken-pipe/115071/6
      通过echo命令追加日志到文件或者程序log4j写入日志,均可以是增量增加,不是全量,如果通过编辑工具修改,则为全量抓取
      命令:
        sudo echo '"[2020-10-19 09:38:32] hello world!"' >> xujk01.log
      


    • kibana显示@timestamp和实际时间差8个小时
      解决方法:
      在kibana端,通过设置@timestamp的格式实现的
      Management-》Index Patterns-》@timestamp->edit


  • 相关阅读:
    java核心学习笔记(三) java集合框架
    java核心学习笔记(二) 学习环境与学习的方法以及java几个包的作用
    java核心学习笔记(一) javaJDK目录阐述
    版本控制工具git的配置
    linux系统管理员之自动化检测工具 nagios及其插件配置
    运维工程师需要的技能
    在线求中位数(优先队列实现) POJ3784
    并查集 poj1308
    stack HDU1022
    hash数组 POJ1840
  • 原文地址:https://www.cnblogs.com/kunwn/p/14540445.html
Copyright © 2020-2023  润新知