使用 Fluentd 实现日志转发
概述
本技能涵盖配置 Fluentd 和 Fluent Bit 进行集中式日志采集、路由和丰富化。Fluent Bit 作为终端上的轻量级日志转发器,Fluentd 作为中央聚合器和处理器。配置涵盖 syslog、文件追踪和应用日志的输入插件,以及路由到 Elasticsearch、S3 和 Splunk 的输出。
前置条件
- Fluentd (td-agent) v1.16+ 或 Fluent Bit v3.0+
- Python 3.8+ 及 fluent-logger 库
- Elasticsearch 或 Splunk 作为日志目标
- 端口 24224 的网络访问(Fluentd forward 协议)
- Ruby 2.7+(用于 Fluentd 插件开发)
步骤
- 生成 Fluent Bit 配置 — 为终端日志采集创建输入、过滤和输出配置
- 生成 Fluentd 聚合器配置 — 配置中央 Fluentd 实例,包括 forward 输入、解析和多输出路由
- 配置日志过滤和丰富化 — 添加 record_transformer 和 grep 过滤器进行日志丰富化和降噪
- 验证配置语法 — 解析并验证 Fluentd/Fluent Bit 配置文件是否存在语法错误
- 测试日志转发 — 通过 fluent-logger Python 库发送测试事件并验证传达
- 生成部署报告 — 输出包含路由拓扑和健康指标的配置摘要
预期输出
- Fluent Bit 和 Fluentd 配置文件(INI/YAML 格式)
- 配置验证报告
- 日志路由拓扑图(文本格式)
- 测试事件传达确认