Зависит ли статистика контейнера Docker Swarm от хоста?

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

Это нормальное поведение?

Как мне получить статистику других запущенных контейнеров (я не могу запросить статистику с рабочего узла через http/tcp...)?

В настоящее время я использую Docker API через TCP/HTTP: https://docs.docker.com/engine/api/v1.30/#operation/ContainerStats

PS: я не могу использовать cAdvisor.


person eventhorizon    schedule 17.07.2018    source источник


Ответы (1)


В механизме докеров нет «статистики контейнеров роя», только «статистика контейнеров» и контейнеры являются локальными для каждого узла. Если вам нужна статистика по всем узлам в кластере, вам нужно использовать что-то еще для ее сбора. cAdvisor/Prometheus используется большинством, потому что он обрабатывает конкретную задачу с наименьшими привилегиями, вы, вероятно, могли бы заставить работать классический рой или просто заскриптовать что-то, работающее на каждом узле. Я не играл с ним, но swarm-exec также может поддерживать ваш вариант использования.

person BMitch    schedule 17.07.2018