Мониторинг Docker
Контейнеры на серверах с Docker попадают под наблюдение автоматически — отдельной настройки не требуется.
Как это работает
При установке (или переустановке) Linux-агента установщик проверяет наличие Docker на сервере. Если найден /var/run/docker.sock, дополнительно ставится служба monitoring-cadvisor — сборщик контейнерных метрик cAdvisor. Он слушает только локальный адрес (127.0.0.1:9338), наружу ничего не открывается; метрики уходят тем же защищённым каналом, что и остальные.
Что собирается
| Метрика | Описание |
|---|---|
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/память/сеть по каждому контейнеру и сводная таблица. Фильтр по хосту — сверху.
Ограничения
- Пока поддерживается Docker на Linux-хостах (Windows-контейнеры — нет).
- Для Kubernetes-кластеров используйте штатный k8s-мониторинг — там контейнерные метрики собираются через kubelet/cAdvisor кластера.