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

如何在Fluent Bit CloudWatch输出中用container_name作log_stream_name

从Kubernetes字典提取container_name作为CloudWatch日志流名称

需求

从Kubernetes字段字典中提取container_name字段,将其作为CloudWatch日志输出的日志流名称。

Fluentd完整配置

过滤器模块

[FILTER]
Name                nest
Match               application.*
Operation           lift
Nested_under        kubernetes
Add_prefix          Nested.

[FILTER]
    Name                modify
    Match               application.*
    Rename              Nested.docker_id            Docker.container_id

[FILTER]
    Name                nest
    Match               application.*
    Operation           nest
    Wildcard            Nested.*
    Nested_under        kubernetes
    Remove_prefix       Nested.

[FILTER]
    Name                nest
    Match               application.*
    Operation           nest
    Wildcard            Docker.*
    Nested_under        docker
    Remove_prefix       Docker.

输出模块

[OUTPUT]
Name                cloudwatch_logs
Match               application.*
region              ${REGION}
log_group_name      /aws/containerinsights/${CLUSTER_NAME}/application
log_stream_name     $(kubernetes['container_name'])
auto_create_group   true
extra_user_agent    容器洞察

配置说明

  • 第一个nest过滤器:将kubernetes嵌套字段下的所有子字段提取至顶层,同时添加Nested.前缀,便于后续字段调整。
  • modify过滤器:将Nested.docker_id重命名为Docker.container_id,规整字段命名结构。
  • 第二个nest过滤器:将所有带Nested.前缀的字段重新嵌套回kubernetes字段下,并移除前缀。
  • 第三个nest过滤器:将所有带Docker.前缀的字段嵌套到docker字段下,同时移除前缀。
  • 输出模块中,通过$(kubernetes['container_name'])直接引用Kubernetes字典内的container_name字段值,作为CloudWatch的日志流名称,日志最终会被发送到指定的日志组中。

内容的提问来源于stack exchange,提问作者raviteja reddy kamidi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 16:42:20