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

如何修改Fluent Bit配置自定义AWS CloudWatch中EKS Pod日志的日志流名称

如何修改Fluent Bit配置自定义AWS CloudWatch中EKS Pod日志的日志流名称

嗨,我来帮你搞定这个日志流名称自定义的问题!其实核心就是修改Fluent Bit配置里CloudWatch输出插件的log_stream_name参数,用你需要的字段拼接成想要的格式,具体步骤如下:

1. 找到并编辑Fluent Bit的ConfigMap

首先,你需要找到部署的Fluent Bit对应的ConfigMap(默认在amazon-cloudwatch命名空间下,名字一般是fluent-bit-config),执行命令进入编辑模式:

kubectl edit configmap fluent-bit-config -n amazon-cloudwatch

2. 修改CloudWatch输出段的日志流名称配置

在ConfigMap里找到output.conf部分的[OUTPUT]区块,这里就是负责把日志发送到CloudWatch的配置。你会看到原来的log_stream_name参数拼接了很多冗余字段,把它改成你想要的格式即可。

比如你想要实例名_命名空间名_Pod名的格式,就把log_stream_name改成:

log_stream_name ${kubernetes_node_name}_${kubernetes_namespace_name}_${kubernetes_pod_name}
  • ${kubernetes_node_name}:对应EKS节点的实例名(比如ip-10-11-97-64.ec2.internal)
  • ${kubernetes_namespace_name}:Pod所在的命名空间
  • ${kubernetes_pod_name}:Pod的名称

如果还想加上容器名,也可以扩展成:

log_stream_name ${kubernetes_node_name}_${kubernetes_namespace_name}_${kubernetes_pod_name}_${kubernetes_container_name}

3. 确保Kubernetes过滤器已正确提取字段

要保证上面用到的这些变量能被正确识别,需要确认ConfigMap的filter.conf里已经开启了Kubernetes过滤器,配置大概长这样:

[FILTER]
    Name                kubernetes
    Match               kube.*
    Kube_URL            https://kubernetes.default.svc:443
    Kube_CA_File        /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
    Kube_Token_File     /var/run/secrets/kubernetes.io/serviceaccount/token
    Kube_Tag_Prefix     kube.var.log.containers.
    Merge_Log           On
    Merge_Log_Key       log_processed
    K8S-Logging.Parser  On
    K8S-Logging.Exclude Off

这个过滤器会自动从Kubernetes元数据中提取节点名、命名空间、Pod名等字段,供输出配置使用。

4. 重启Fluent Bit DaemonSet让配置生效

修改完ConfigMap后,需要重启Fluent Bit的DaemonSet Pod,让新配置加载:

kubectl rollout restart daemonset fluent-bit -n amazon-cloudwatch

等Pod重启完成后,新生成的日志流就会按照你自定义的格式显示啦!

备注:内容来源于stack exchange,提问作者cloudbud

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 14:58:06