在Swarm模式下的docker stats?

时间:2017-08-27 16:57:21

标签: docker docker-swarm docker-swarm-mode resource-utilization

我试图在swarm模式下设置docker并监控swarm中运行的所有服务/容器的资源利用率。

管理器节点上的Docker统计信息似乎不显示工作节点上的资源利用率。

我有什么方法可以做到这一点吗?

感谢。

4 个答案:

答案 0 :(得分:2)

尝试Ansible:

ansible docker -a "docker stats --no-stream"

/etc/ansible/hosts上设置“ docker”节点的位置

答案 1 :(得分:0)

没有直接的方法来检索Swarm中给定服务的所有容器统计信息。您可能必须使用更多步骤来发现服务的所有任务,所有节点地址和每个容器ID。 engine api docs应该可以帮助您入门。如果您需要一些灵感,我建议您查看https://github.com/charypar/swarm-dashboardhttps://github.com/dockersamples/docker-swarm-visualizer等概述信息中心。

答案 2 :(得分:0)

尝试一下以了解CPU和内存使用情况

docker stats --all --format "table {{.ID}}\t{{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"

答案 3 :(得分:0)

您可以使用 cadvisor 部署在每个节点上或在所有节点上扩展一个 swarm 服务,并逐个收集指标。

docker run -d --name=cadvisor -p 8080:8080 --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/ lib/docker/:/var/lib/docker:ro google/cadvisor:latest