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



最新文章

  1. 从 Everything 到 Listary,自 Launch 归 Wox
  2. Linux学习笔记(8)-exec族函数
  3. 36. Construct Binary Tree from Inorder and Postorder Traversal && Construct Binary Tree from Preorder and Inorder Traversal
  4. eclipse下tomcat添加部署Module,Web名称与项目名称不一致的解决方法
  5. java个人总结
  6. bzoj 3263 陌上花开(cdq分治,BIT)
  7. IIS配置及防黑
  8. WCF - 学习总目录
  9. 学习笔记之TCP/IP协议的重要性
  10. python重试装饰器的简单实现
  11. Linux scp sudo
  12. 【原创】Linux基础之用户和组
  13. Windows系统中python3.7安装数据可视化模块Matplotlib、numpy的各种方法汇总
  14. C语言练习题库----数组
  15. 034 Maven中的dependencyManagement和dependencies区别
  16. 潭州课堂25班:Ph201805201 django 项目 第十一课 手机号是否存在,短信验证分析 (课堂笔记)
  17. Adroid动态加载Apk-插件化技术框架(动态代理方案)
  18. Cuda9.1+cunn7.1+Tensorflow1.7-GUP
  19. table滑块
  20. Hbase-2.0.0_04_Hbase原理

热门文章

  1. 尝试用面向对象思维理解Vue组件
  2. 重新整理 .net core 实践篇————重定向攻击[三十九]
  3. MySql:Navicat 连接不上虚拟机上的mysql容器
  4. Go nuts
  5. Spring Boot中的那些生命周期和其中的可扩展点(转)
  6. 使用Nginx和uwsgi部署Flask项目
  7. 「CF559E」 Gerald and Path
  8. C语言:c++ ++c
  9. python 查看导入模块的函数和方法
  10. 关于java异常处理的思考