Назад | Перейти на главную страницу

Docker swarm, список всех состояний контейнера

У меня есть несколько узлов в docker swarm, но оба узла показывают только запущенный на них контейнер при запуске команды docker stats

Но я хотел бы перечислить статистику контейнера (процессор, память) со всех узлов, когда статистика докеров запущена на любом из узлов.

Это возможно?

Любое понимание будет большим подспорьем.

это невозможно с чистым докером, или вы можете использовать CAdvisor, чтобы отслеживать узлы из кластера и получать метрики из контейнеров. Если вы хотите, вы также можете отслеживать эти показатели с помощью Prometheus и Grafana.

Нет прямого способа получить всю статистику контейнера данной службы в Swarm.

если вам нужна информация о процессоре, памяти и другая информация, вы можете использовать комбинации docker node, cut, xargs и ssh тогда docker stats на каждом узле:

docker node ls | cut -c 31-49 | grep -v HOSTNAME | xargs -I"SERVER" sh -c "echo SERVER; ssh SERVER /usr/local/bin/docker stats --no-stream"

Вышеупомянутая команда покажет вам каждый ЦП контейнера, группу памяти по узлу, например

Узел 1

b95a83497c91 awesome_brattain 0.28% 5.629MiB / 1.952GiB 0.28% 916B / 0B 147kB / 0B 9
e5c383697914 test-1951.1.kay7x1lh1twk9c0oig50sd5tr 0.00% 196KiB / 1.952GiB 0.01% 71.2kB / 0B 770kB / 0B 1

Узел 2

  67b2525d8ad1   foobar      0.00%     1.727MiB / 1.952GiB   0.09%   2.48kB / 0B         4.11MB / 0B         2
    4bda148efbc0 random. 0.00% 1.672MiB / 1.952GiB 0.08% 110kB / 0B 578kB / 0B 2

Также исх. https://stackoverflow.com/questions/45907274/docker-stats-in-swarm-mode