ELK Filebeat 部署

发布时间:2026/9/12 19:51:00

ELK Filebeat 部署 Filebeat 是轻量采集器核心原则就近采集日志尽量在日志产生的机器上部署避免跨网络读取日志。一、物理机 / 传统虚拟机业务服务器最常用部署方式每台业务机器独立部署 FilebeatAgent 单机部署业务机器Java 应用、Nginx、Tomcat日志输出到本机磁盘/opt/app/logs/。 每台业务服务器单独安装一个 Filebeat只采集本机的日志文件。部署步骤简述在业务机器安装 filebeat rpm/deb 包修改filebeat.yml配置日志路径、输出Kafka / ES启动 systemd 托管systemctl start filebeat systemctl enable filebeatregistry 文件默认路径/var/lib/filebeat/registry保存文件读取 offset 断点。✅优点就近读取本地磁盘日志网络开销小轻量内存占用几十 MB几乎不抢占业务资源断点续传重启不丢、不重复采集横向扩展简单新增业务机器部署 Filebeat 即可。❌缺点机器数量很多时需要批量部署ansible / 脚本配置变更需要批量下发 yaml。适用物理机、ECS 云主机微服务业务大数据服务器YARN/Flink/spark 日志采集。二、Kubernetes 容器环境两种主流方案方案 1DaemonSet 方式生产首选在 K8s 集群每个 Node 节点运行一个 Filebeat Pod。 Filebeat Pod 挂载宿主机的容器日志目录/var/log/containers/读取宿主机上所有容器产生的日志。不管这个 Node 上跑多少业务 Pod只需要 1 个 Filebeat Pod。✅优点只需要部署一次 DaemonSet新增节点自动拉起 Filebeat不用给每个业务 Pod 单独部署运维成本低。❌缺点Filebeat 权限要求高需要挂载宿主机目录日志过滤逻辑写在 DaemonSet 的配置区分不同业务日志需要加标签过滤。方案 2Sidecar 边车模式每个业务 Pod 内部单独启动一个 Filebeat 容器和业务容器共享日志卷 emptyDir。业务容器写日志到共享卷同 Pod 内 Filebeat 读取日志。✅优点日志隔离每个业务 Pod 的采集配置独立不依赖宿主机目录权限更安全采集范围只属于当前 Pod。❌缺点Pod 数量多的时候Filebeat 实例数量非常多资源开销变大配置管理繁琐。对比K8s 绝大多数业务选择DaemonSet只有强隔离需求才用 Sidecar。DaemonSetDS解释说明一句话DaemonSet 保证集群里每一个或者指定一部分节点都运行一份相同的 Pod 副本。新节点加入集群会自动在该节点创建 Pod节点删除Pod 跟着回收。适用场景节点日志收集如 filebeat、fluentd每个节点都要采集容器日志节点监控node-exporter每个节点采集服务器指标网络插件calico、flannel每个节点网络代理安全代理、节点审计等每个机器都必须部署一个的组件❌ 不适合业务应用业务一般用 Deployment不需要每台节点都跑和 Deployment 区别DaemonSet每个节点最多 1 个 Pod不控制副本数由节点数量决定不支持扩缩副本是扩缩节点Deployment调度 Pod 到任意节点可以多个 Pod 跑在同一个节点用来部署业务服务简单 yaml 示例#资源所属 API 组Deployment、StatefulSet、DaemonSet 都在apps/v1K8s 1.9 之后稳定版本。 apiVersion: apps/v1 kind: DaemonSet #资源类型声明这是一个 DaemonSet作用是每个符合条件节点运行 1 个 Pod metadata: #metadata 元信息 name: filebeat-ds #DaemonSet 的名称执行 kubectl 操作时用这个名字 namespace: logging #资源放在logging命名空间不写默认是default spec: #spec.selector 标签选择器 selector: #selector.matchLabels**用来匹配 Pod 标签**。DaemonSet 控制器通过标签找到属于自己管理的 Pod matchLabels: app: filebeat template: #spec.template Pod 模板核心定义要创建的 Pod 长什么样。DaemonSet 会用这个模板在节点上创建 Pod metadata: labels: app: filebeat #metadata.labels给生成出来的 Pod 打上标签 appfilebeat和上面 selector 匹配 #spec.template.spec.containers 容器配置 spec: # nodeSelector / nodeAffinity 可以指定只在部分节点部署 # nodeSelector: # env: prod containers: #Pod 内容器列表一个 Pod 可以多个容器 - name: filebeat #name: filebeat容器名称Pod 内标识 image: elastic/filebeat:7.17.0 #image: elastic/filebeat:7.17.0镜像地址 版本拉取 filebeat 镜像用来收集日志 volumeMounts: #**挂载声明**把卷挂载到容器内部目录 - name: varlog #卷名字要和下面 volumes 的 name 对应 mountPath: /var/log #容器内路径容器里面/var/log就是挂载点 volumes: #volumes 卷定义在 Pod 级别定义卷 - name: varlog #卷名称和 volumeMounts 关联 hostPath: #宿主机卷类型**把节点宿主机上的目录挂载进容器** path: /var/log #宿主机node 节点的/var/log目录常用操作命令# 创建DaemonSet kubectl apply -f ds.yaml # 查看ds kubectl get daemonset -n logging kubectl get ds -n logging # 查看详情排查为什么Pod无法调度 kubectl describe ds filebeat-ds -n logging # 查看ds下的pod kubectl get pod -n logging -l appfilebeat -o wide # 更新镜像滚动更新默认策略RollingUpdate kubectl set image ds/filebeat-ds filebeatelastic/filebeat:8.11.0 -n logging # 删除DaemonSet会连带删除所有Pod kubectl delete ds filebeat-ds -n logging三、集中式部署不推荐了解即可单独找一台日志采集服务器远程读取其他机器日志例如 sftp、nfs 挂载远程日志目录在这一台机器上部署 Filebeat 采集多台机器日志。❌缺点跨网络读取日志网络延迟高网络抖动容易丢日志单点风险采集机挂掉所有机器日志无法采集无法正确监听 inode日志切割场景容易漏采。生产基本不用。不推荐集中式Filebeat 设计就是分布式 agent。四、容器Docker 非 K8s和物理机思路类似宿主机部署 Filebeat挂载 docker 日志目录/var/lib/docker/containers/采集本机所有容器 json 日志。五、Filebeat 输出目标和部署配套Filebeat 采集完日志可以输出到三类输出 Kafka大规模生产架构首选Filebeat - Kafka - Logstash - ES直接输出 ES小规模业务省去 Logstash输出 Logstash小型架构Filebeat - Logstash - ES最佳实践Filebeat 只负责采集不做复杂清洗复杂 grok 解析、脱敏放到 Logstash。六、精简版Filebeat 有 4 种部署方式物理机 / ECS单机 Agent 部署。每台业务机器部署 Filebeat采集本机磁盘日志就近采集轻量是传统业务最常用方式。K8s DaemonSet首选集群每个节点运行一个 Filebeat Pod读取宿主机所有容器日志运维简单不需要每个 Pod 单独部署。K8s Sidecar 边车每个业务 Pod 内附带 Filebeat 容器共享日志卷隔离性好但实例多、资源开销大。集中式远程采集不推荐。单台机器远程读取多台机器日志存在单点故障、网络问题容易丢日志。核心原则Filebeat 属于分布式采集 Agent就近采集本地日志尽量避免远程读取。七、高频QAQregistry 文件作用A保存每个日志文件的读取偏移量 offset、inode 信息Filebeat 重启后从上次位置继续采集防止重复采集或者漏日志。QDaemonSet 和 Sidecar 怎么选A集群规模大通用日志采集选 DaemonSet业务需要独立采集配置、强隔离场景才使用 Sidecar。QFilebeat 能不能部署在 Logstash 服务器上采集A不建议。Filebeat 尽量部署在日志产生端减少网络传输压力。
延伸阅读

更多相关文章

2026/9/12 19:51:00

ARM Cortex-M4边缘AI唤醒系统静态评测与工程架构解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/12 19:46:00

Flutter性能优化:Sliver与ListView的渲染机制对比

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/12 19:46:00

Android集成讯飞离线TTS全攻略:从选型到优化

简介:这是一份针对Android开发者的科大讯飞离线TTS引擎资源包,面向需要在无网络或弱网环境下提供语音合成的应用场景,如导航播报、有声阅读、儿童教育等,也适合希望快速集成离线语音能力的中高级开发者。压缩包共97个文件&#xf…

2026/9/12 20:46:02

面试-在Math、LiveCodeBench、IFBench上的评测

project-3:Faker-1-0.5B / MiniCPM5-2B 在 MATH-500 / LiveCodeBench v6 / IFBench 上的官方口径评测 对象:Faker-1-0.5B(基座,Qwen2.5-0.5B 全参数复刻)+ MiniCPM5-2B(chat)。 所有 prompt 与判分逻辑均为官方仓库逐行移植(硬编码),无自创口径;全部为确定性规则判…

2026/9/12 20:46:02

PFC中的二极管反向恢复电流

摘要:本文以爆闪灯产品开发为背景,介绍 PFC 与 APFC 的基本原理。文章先说明 PFC 用于改善电源输入端的功率因数,再介绍 APFC 通过主动控制开关管使输入电流跟踪电压波形,将功率因数提升到 0.95 以上;随后结合 UCC2818…

2026/9/12 20:41:02

Patches for sl on SerenityOS

Patches for sl on SerenityOS 【免费下载链接】serenity The Serenity Operating System 🐞 项目地址: https://gitcode.com/GitHub_Trending/se/serenity 0001-Add-an-install-target.patch Add an install target 它登记了一份补丁:0001-Add-…

2026/9/12 2:05:33

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/12 3:55:12

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/12 10:09:03

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/12 0:04:17

MATLAB仿生优化框架:长鼻浣熊算法多策略融合实现

简介:本资源是一份面向智能优化算法研究者与MATLAB初学者的仿生智能算法实践代码包,聚焦于长鼻浣熊优化算法(COA)的多策略改进与性能验证。针对传统COA易陷局部最优、收敛精度不足等问题,作者融合Circle映射初始化提升…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 JavaWeb 的校园一卡通管理系统的设计与实现 基于 JavaWeb 的校园卡业务管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 Java 的图书馆借阅管理平台的搭建与实现 基于 Java 的图书馆综合管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/12 14:32:17

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/12 6:37:43

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码