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

能否在AWS ECS Fargate中通过node-exporter sidecar采集微服务指标

ECS Fargate 搭配 node-exporter sidecar 采集业务指标方案说明

方案可行性结论

该方案完全可行,你当前采集到node-exporter容器自身指标属于配置疏漏,并非方案本身存在缺陷。

问题根因

ECS Fargate 中同Task内的多个容器默认隔离PID、cgroup命名空间,node-exporter默认读取自身容器的/proc、/sys路径下的数据,因此默认只能采集到自身的运行指标,无法感知同Task内的业务容器状态。

修正配置操作

  • 修改ECS Task Definition的全局配置,将pidMode参数设置为task,开启同Task内所有容器的PID命名空间共享,让node-exporter可以访问到业务容器的进程数据
  • 调整node-exporter容器的启动参数,增加以下配置:
    --collector.cgroup.enabled
    --path.sysfs=/sys
    --path.procfs=/proc
    
  • 采集指标后通过cgroup标签、进程PID过滤业务容器对应的指标即可,同Task内业务容器的cgroup路径会带业务容器的名称前缀,可以直接作为筛选维度
  • 验证方式:查看process_cpu_seconds_total指标的PID数值,和业务容器内运行的主进程PID做对比,匹配即代表采集到的是业务容器的指标

注意:pidMode配置为task要求Fargate平台版本≥1.4.0,低版本Fargate不支持该配置

可选替代方案

如果仅需要采集业务容器的CPU、内存指标,也可以直接使用AWS托管的Prometheus服务搭配ECS服务发现,无需额外部署sidecar,但sidecar方案的自定义灵活度更高,可以适配更多自定义采集需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 08:00:02