cAdvisor能否监控ECS Windows Containers?Windows容器监控方案咨询
Windows ECS 容器监控实现路径
方案1:复用现有Windows-Exporter(优先推荐)
你已经在ECS宿主机部署了Windows-Exporter,无需额外部署其他组件即可实现容器指标采集,该方案对现有架构改动最小:
- 确认Windows-Exporter版本不低于v0.16.0,低于该版本请先升级到最新稳定版
- 修改Windows-Exporter启动参数,新增container采集器,启动命令参考:
windows_exporter.exe --collectors.enabled "cpu,memory,network,logical_disk,container" - 验证采集有效性:访问
http://<ECS宿主机IP>:9182/metrics,确认存在container_开头的指标返回即可
方案2:部署Windows适配版cAdvisor(适合习惯cAdvisor指标体系的场景)
如果需要沿用Linux环境下的cAdvisor指标体系,可以单独部署Windows版cAdvisor:
- 在每台ECS Windows宿主机拉取适配镜像:
docker pull gcr.io/cadvisor/cadvisor:v0.47.0-windows - 执行启动命令(PowerShell环境):
docker run -d -p 8080:8080 ` --volume=//./pipe/docker_engine://./pipe/docker_engine ` --volume=C:/ProgramData/docker:C:/ProgramData/docker ` --privileged ` gcr.io/cadvisor/cadvisor:v0.47.0-windows
- 验证采集有效性:访问
http://<ECS宿主机IP>:8080/metrics,确认有容器相关指标返回即可
Prometheus/Grafana 配置适配
- 修改Prometheus配置文件,新增对应采集job,参考配置如下(以Windows-Exporter方案为例):
scrape_configs: - job_name: 'windows-ecs-containers' scrape_interval: 15s static_configs: - targets: ['<ECS1_IP>:9182', '<ECS2_IP>:9182', '<其余ECS宿主机IP>:9182']
- 完成配置重启Prometheus后,即可在Grafana中配置仪表盘,核心监控指标包括容器CPU使用率、容器内存占用量、容器网络出入流量、容器磁盘IO四类
注意事项
- Windows容器指标采集需要宿主机Docker服务开启命名空间共享,AWS ECS默认Windows容器运行时已支持该特性,无需额外配置
- 若cAdvisor启动后无容器指标返回,检查宿主机Docker是否开启Experimental特性,以及cAdvisor容器是否以管理员权限运行
内容的提问来源于stack exchange,提问作者Abhishek
相关产品推荐
相关产品推荐

