Мониторинг Docker

Контейнеры на серверах с Docker попадают под наблюдение автоматически — отдельной настройки не требуется.

Как это работает

При установке (или переустановке) Linux-агента установщик проверяет наличие Docker на сервере. Если найден /var/run/docker.sock, дополнительно ставится служба monitoring-cadvisor — сборщик контейнерных метрик cAdvisor. Он слушает только локальный адрес (127.0.0.1:9338), наружу ничего не открывается; метрики уходят тем же защищённым каналом, что и остальные.

Если Docker появился на сервере уже после установки агента — просто выполните команду установки ещё раз (Onboarding → «Сгенерировать»): переустановка идемпотентна и подхватит Docker.

Что собирается

МетрикаОписание
container_cpu_usage_seconds_totalПотребление CPU каждым контейнером.
container_memory_usage_bytesПамять контейнера.
container_network_receive/transmit_bytes_totalСетевой трафик контейнера.
container_fs_*Дисковая активность.
container_last_seenПризнак «контейнер жив» — основа для подсчёта запущенных.

Каждая серия несёт имя контейнера (name), хост (hostname) и его IP (instance) — на серверах с несколькими докер-хостами всё разложится по машинам.

Логи контейнеров

Вместе с метриками агент собирает и журналы контейнеров — stdout и stderr каждого контейнера, как их показывает docker logs. Их читает тот же vector, что отправляет системный журнал хоста: он подключается к Docker API через сокет и отправляет строки в хранилище журналов вашего пространства. У каждой строки есть поля container (имя контейнера), image, stream (stdout или stderr) и host — по ним фильтруется дашборд «Журналы». Никаких изменений в настройках Docker или контейнеров не требуется: драйвер логов остаётся стандартным json-file.

Агент работает от непривилегированного пользователя, поэтому установщик добавляет его в группу, которой принадлежит /var/run/docker.sock (обычно docker). Если сокет принадлежит только root и группы доступа нет, установщик сообщит об этом и пропустит журналы контейнеров — метрики от этого не зависят. Поддержка появилась в агенте 1.3.3; уже установленные агенты подхватят её при ближайшем самообновлении или при повторном запуске команды установки. Собираются только новые строки — то, что контейнер написал до подключения агента, остаётся в файлах Docker и в платформу не переносится.

Где смотреть: дашборд «Журналы» в Grafana, раздел «Логи контейнеров» — фильтр container сверху ограничивает выборку одним контейнером, в строке видны имя контейнера, образ и поток (stdout или stderr). Там же лежат логи подов Kubernetes.

Дашборд

Готовый дашборд «Docker контейнеры» уже в вашей Grafana: число запущенных контейнеров, суммарная память, CPU/память/сеть по каждому контейнеру и сводная таблица. Фильтр по хосту — сверху.

Ограничения