繁体   English   中英

Swarm 模式下的 docker stats?

[英]docker stats in Swarm mode?

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

管理节点上的 Docker 统计数据似乎没有显示工作节点上的资源利用率。

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

谢谢。

试试 Ansible:

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

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

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

试试这个 CPU 和内存使用情况

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

您可以使用 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

您可以使用以下 bash 命令对所有工作节点执行此操作:

docker node ls | grep -v Leader | grep -v Reachable | cut -c 31-47 | grep -v HOSTNAME | xargs -I"SERVER" sh -c "echo SERVER; ssh SERVER docker stats --no-stream"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM