|NO.Z.00284|——————————|CloudNative|——|KuberNetes&运维.V06|——|EFLK架构.v01|Filebeat概述|3台Server|
一、Filebeat概述
### --- Filebeat
~~~ 在生产环境中,很常用的场景是pod的日志都是写在本地文件的;
~~~ 若是你的应用是基于容器开发的,在设计之初,是直接输出到控制台了;
~~~ 但是有可能你的容器是通过虚拟机或者是物理机迁移过来或者说是容器化过来的;
~~~ 这类的应用的日志可能直接打在了宿主机的目录上面。
~~~ 若是去改的话对于研发来说是很大的工作量。
~~~ 但是我们可以通过手段将容器内的日志给收集起来
### --- EFLK架构:ElasticSearch+Filebeat+Logstash+Kibana+zookeeper+kafka:
~~~ 收集容器内文件的日志
~~~ 用到了zookeeper+kafka的组件
二、组件架构:

### --- 组件架构:
~~~ # 假设这个pod运行了2个容器:
~~~ 一个是业务应用APP;一个是Filebeat
~~~ # 它俩是共享了一个目录EmptyDir:
~~~ APP是 把它的共享文件EmptyDir挂载到了它的log文件下叫a.logs;
~~~ Filebeat将EmptyDir挂载到了它的收集路径下/data/logs
~~~ APP和Filebeat的日志文件就共享了,Filebeat就可以看到APP里面的日志文件,
~~~ 它就会读到这个日志文件,读取这个日志文件后把读取的结果就会推送到队列里面。
~~~ 这种推送的方式也是为了缓解Logstash的压力;也可以推送到其它的中间件上。
~~~ 推送到kafka或者redis是推荐的一种方式
~~~ 推送到队里里之后,Logstash会从Filebeat指定的Token中去读取日志文件,
~~~ 读取完日志文件之后会写到ElasticSearch中,
~~~ 写到ElasticSearch中之后就和Fluentd收集日志的过程一样,就可以使用Kibana查看它的日志了。
~~~ Filebeat是更轻量级,占用的资源是非常少的
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了