当前位置: 首页 > news >正文

【容器日志采集】【二】fluent-bit配置文件

下面是第二步:创建配置文件(ConfigMap)的完整文档,包括详细说明、字段解释以及一键可用的命令👇


🧾 第二步:创建配置文件(ConfigMap)

🧠 1. 什么是 ConfigMap?

在 Kubernetes 中,ConfigMap 用于将配置信息从容器镜像中分离出来,方便灵活地管理配置。
本例中,我们通过 ConfigMap 来为 Fluent Bit 提供日志采集的完整配置,包括:

  • 主配置(fluent-bit.conf
  • 输入配置(input-kube.conf
  • 过滤配置(filter-kube.conf
  • 输出配置(Kafka & stdout)
  • 解析器配置(parsers.conf

🧰 2. 配置文件 YAML 详解

以下为一份可直接使用的配置文件 fluent-bit-config.yaml

apiVersion: v1
kind: ConfigMap
metadata:name: fluent-bit-confignamespace: logging
data:fluent-bit.conf: |[SERVICE]Flush         1Log_Level     debugDaemon        OffParsers_File  parsers.conf# IPv6 网络环境可启用# IPv6             On@INCLUDE input-kube.conf@INCLUDE filter-kube.conf@INCLUDE output-kafka.conf@INCLUDE output-stdout.conf# ====================== INPUT ======================input-kube.conf: |[INPUT]Name              tailTag               kube.*Path              /var/log/containers/assign*.logDB                /buffers/flb_kube.dbDB.Sync           NormalParser            dockerDocker_Mode       OnMem_Buf_Limit     50MBSkip_Long_Lines   OnRefresh_Interval  10# ====================== FILTER ======================filter-kube.conf: |# 注入 Kubernetes 元数据[FILTER]Name                kubernetesMatch               *Kube_URL            https://kubernetes.default.svc.cluster.local:443Kube_CA_File        /var/run/secrets/kubernetes.io/serviceaccount/ca.crtKube_Token_File     /var/run/secrets/kubernetes.io/serviceaccount/tokenMerge_Log           OnBuffer_Size         0[FILTER]Name                nestMatch               *Operation           liftNested_under        kubernetes[FILTER]Name                nestMatch               *Operation           liftNested_under        labels[FILTER]Name                modifyMatch               *Rename              app                 job_name[FILTER]Name                grepMatch               *Regex               container_name  *-job# ====================== OUTPUT - Kafka ======================output-kafka.conf: |[OUTPUT]Name                 kafkaMatch                kube.*Brokers              172.22.162.152:31092Topics               k8s-pod-logsrdkafka.log.connection.close  falseTimestamp_Key        @timestampFormat               jsonMessage_Key          pod_nameRetry_Limit          false# ====================== OUTPUT - Stdout ======================output-stdout.conf: |[OUTPUT]Name    stdoutMatch   *# ====================== PARSER ======================parsers.conf: |[PARSER]Name        dockerFormat      jsonTime_Key    timeTime_Format %Y-%m-%dT%H:%M:%S.%LTime_Keep   On

🧩 3. 各部分配置详解

区块 功能 说明
[SERVICE] 全局服务配置 定义 flush 间隔、日志等级、解析器文件等。
[INPUT] 日志采集输入 使用 tail 插件采集 Pod 的容器日志。
[FILTER] 过滤与增强 注入 K8s 元数据、重命名字段、过滤符合条件的日志。
[OUTPUT] 日志输出 输出到 Kafka 与 stdout,便于调试与后续处理。
[PARSER] 解析规则 将 Docker 容器日志从 JSON 解析为结构化字段。

⚠️ 注意

  • namespace 必须与前面创建的命名空间(如 logging)一致。
  • Brokers 地址应根据你的 Kafka 实际部署地址进行修改。
  • Path 路径应匹配实际的容器日志路径。
  • 在生产环境中可以适当调整 Mem_Buf_LimitFlush 频率以避免内存溢出。

🛠️ 4. 一键创建命令

将上面的内容保存为 fluent-bit-config.yaml 后,使用以下命令创建 ConfigMap:

kubectl apply -f fluent-bit-config.yaml

或者,使用命令行直接创建(适合快速调试):

kubectl create configmap fluent-bit-config \--namespace=logging \--from-file=fluent-bit.conf \--from-file=input-kube.conf \--from-file=filter-kube.conf \--from-file=output-kafka.conf \--from-file=output-stdout.conf \--from-file=parsers.conf

验证创建结果

kubectl get configmap -n logging
kubectl describe configmap fluent-bit-config -n logging

🧽 5. 更新与删除命令

更新配置(修改文件后重新应用):

kubectl apply -f fluent-bit-config.yaml

删除 ConfigMap:

kubectl delete configmap fluent-bit-config -n logging

⚠️ 更新 ConfigMap 不会自动热加载到 Pod 中,如需生效:

  • 可以使用 kubectl rollout restart daemonset fluent-bit -n logging
  • 或手动重启 Pod。

📝 小结

  • ✅ ConfigMap 使 Fluent Bit 的日志采集配置更加灵活和可维护。
  • 🔐 配合 ServiceAccount 与 RBAC 权限,保证采集安全性。
  • 🪄 通过 kubectl 命令,可以快速创建、查看和更新配置。
  • 🧭 最终效果:日志采集 → 过滤 → 输出 Kafka / Stdout。

是否希望我在下一步给出 部署 DaemonSet(真正让 Fluent Bit 运行起来)的完整 YAML 和命令?(即第 3 步) 🚀

http://www.hskmm.com/?act=detail&tid=34417

相关文章:

  • 【容器日志采集】【三】创建daemonsets采集日志发送到kafka
  • 2025年保洁公司权威推荐榜单:驻场/钟点/开荒/外包/商场/办公楼/工厂/医院/企业保洁服务优选指南
  • 2025年电源适配器厂家推荐排行榜,电脑/手机/平板电源适配器,高品质充电解决方案!
  • 解题报告-洛谷SCP2025T2 P14254 分割(divide)
  • 深入解析:Spring Cloud Netflix Eureka:从微服务基础到高可用集群实战
  • 2025.10.19——1绿1蓝
  • 别看我只是一只羊
  • 10.19 —— (VP)2022icpc西安
  • 2025年储罐源头厂家推荐排行榜,钢衬塑/钢塑复合/化工/防腐/PE/盐酸/硫酸/聚丙烯/不锈钢/次氯酸钠储罐公司精选!
  • 26-wsl-nginx-chinese-encoding-fix
  • win10-减少广告的三个操作
  • java方法
  • 变量名越怪,JVM 越快?
  • 深入解析:CPU调度算法简记
  • 2025年TYPE-C母座厂家推荐排行榜,防水/板上/沉板/立插/立贴/侧插/立式/插座/接口/插头/5A大电流/高速/TID认证公司精选
  • 在AI技术唾手可得的时代,挖掘用户真实需求成为制胜关键——某知名系统工具需求探索
  • 2025年通风气楼/通风天窗厂家推荐排行榜,圆拱型/电动/一字型/钢结构/流线型/屋顶自然/三角型/排烟/采光/启闭式/薄型/成品/消防联动/工厂/屋面/开敞式/启闭式排烟/通风设备公司推荐!
  • 科技领域导师制度与因果分析方法解析
  • 比赛与好题记录(2025 9-10)
  • 全面详解 C++std::vector用法指南
  • Visual Studio Code 初步配置指南(Windows端)
  • 2025年UV光源厂家推荐排行榜,UV面光源,UV LED点光源,UV LED面光源,UV LED固化机公司精选
  • 课上积极回答加分
  • 022304105叶骋恺数据采集第一次作业
  • 智能预加载:基于用户行为和路由预测
  • 函数简单传入参数的汇编分析 - 指南
  • 数据类型转换以及内存溢出
  • 美股数据接口对接指南:快速获取指数实时行情
  • 25-deepin-linux-wsl-nginx-installation
  • 2025国际冷链运输推荐腾翼搏时,专业温控保障生物药品安全!