You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EKS中使用FluentBit动态创建CloudWatch日志组问题咨询

问题与解决方案

问题背景

在EKS环境使用aws-for-fluent-bit Helm Chart(v0.1.34),现有配置存在以下问题:

  • 日志持续输出警告:[ warn] [env] variable ${pod_name} is used but not set、[ warn] [record accessor] translation failed, root key=tag
  • CloudWatch仅生成单一日志组/eks/stage/fluentbit-,无法按container_name生成/eks/stage/fluentbit/backend、/eks/stage/fluentbit/frontend两个动态日志组
  • 日志流命名不符合需求,需要改成fluentbit-backend-随机值-时间戳格式,且禁止添加kubernetes过滤器(避免日志混入K8s元数据)

核心调整方案(基于INPUT tail的Tag_Regex实现)

  1. 修正Tag变量引用:原配置中Tag <container_name>写法错误,Fluent Bit tail输入需用$TAG:分组名格式引用Tag_Regex捕获的分组,改为Tag $TAG:container_name。
  2. 清理无用捕获分组:原Tag_Regex中捕获了未使用的pod_name,直接删除该分组规则,消除警告。
  3. 调整日志组模板:移除冗余的log_group_name,将log_group_template改为/eks/stage/fluentbit/$TAG,利用正确设置的tag(即container_name)生成动态日志组。
  4. 自定义日志流格式:使用Fluent Bit内置变量构造日志流名称,结合${UUID}(随机字符串)和${TIME:%Y%m%d-%H%M%S}(时间戳),设置log_stream_template fluentbit-$TAG-${UUID}-${TIME:%Y%m%d-%H%M%S}。

修改后的完整配置

fluent-bit.conf:
----
[SERVICE]
    HTTP_Server  On
    HTTP_Listen  0.0.0.0
    HTTP_PORT    2020
    Health_Check On 
    HC_Errors_Count 5 
    HC_Retry_Failure_Count 5 
    HC_Period 5 
    
    Parsers_File /fluent-bit/parsers/parsers.conf
[INPUT]
    Name              tail
    Tag               $TAG:container_name
    Path              /var/log/containers/backend-*.log,/var/log/containers/frontend-*.log
    DB                /var/log/flb_kube.db
    multiline.parser  docker, cri
    Mem_Buf_Limit     5MB
    Skip_Long_Lines   On
    Refresh_Interval  10
    Tag_Regex (?&lt;namespace_name&gt;[^_]+)_(?&lt;container_name&gt;.+)-(?&lt;container_id&gt;[a-z0-9]{64})\.log$  
    
[OUTPUT]
    Name                  cloudwatch_logs
    Match                 *
    region                us-east-2
    log_group_template    /eks/stage/fluentbit/$TAG
    log_stream_template   fluentbit-$TAG-${UUID}-${TIME:%Y%m%d-%H%M%S}
    auto_create_group     true

验证效果

  • 启动后无${pod_name}相关警告
  • CloudWatch自动生成/eks/stage/fluentbit/backend和/eks/stage/fluentbit/frontend两个日志组
  • 日志流名称格式示例:fluentbit-backend-7a9f2d-20240520-154230

内容的提问来源于stack exchange,提问作者mrk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 11:52:40