[英]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-dashboard或https://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.