我是靠谱客的博主 大意星星,最近开发中收集的这篇文章主要介绍Docker单机:FileBeat+ELK 日志收集,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

参考链接:https://www.cnblogs.com/fbtop/p/11005469.html

 

目的:

        线程请求生成对应的requestId,根据requestId追踪链路生产消费的数据,方便定位问题和回溯;基于一些XXX考虑,和阿巴阿巴阿巴的原因先拿FileBeat+ELK的方式进行实验,跑通日志收集和展示的功能。

为了避免重复造轮子,本篇只对上出链接博客做一些补充:

       1.单机/docker/版本7.1.1;

       2.docker四大网络的特点:https://www.cnblogs.com/zhuochong/p/10069293.html;本次采用net=bridge的网络模式,禁止出现localhost 和127.0.0.1,统一使用本机ip(重要);

      3.对docker -v挂载命令有所了解;

      4.确认fileBeat是否采集到了日志:进入容器 [docker exec -i -t  容器号 bash] ,查看/var/log/nginx/下的日志文件即可;另外docker启动时可以去掉 -d 参数,观看启动运行日志,方便查看状态;

      下载 curl -L -O https://raw.githubusercontent.com/elastic/beats/7.1/deploy/docker/filebeat.docker.yml时提示链接失败,需要本地hosts文件绑定(199.232.68.133)ip:raw.githubusercontent.com ,另外其实也不用下载,通过touch filebeat.docker.yml +copy内容也可。此外进入fileBeat容器/usr/share/filebeat/ 目录下也有该文件;

      5.logstash配置中config.d是目录,里面有配置文件test;

      6.es是否采集到了数据可以使用mobz/elasticsearch-head:5 来链接查看;然后再用kibana;也可以通过head操作es,然后验证kibana数据展示;

      7.如顶边参考文中所说,配置目录和本机上日志的目录一定要区分好,不要照抄,在docker run 时要保证挂载的目录是正确的;

效果:

镜像:

 网络:自定义网络模式默认是bridge

head查看es数据:

kibana过滤requestId回溯生产消费数据:

 

此外还有个问题,自定义的requestId如何做到隐式和无侵入性,分布式调用下如何追踪,还待继续探索。

最后

以上就是大意星星为你收集整理的Docker单机:FileBeat+ELK 日志收集的全部内容,希望文章能够帮你解决Docker单机:FileBeat+ELK 日志收集所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部