feat(monitoring): экспортер метрик по контейнерам поверх Docker Engine API
Разбивка по контейнерам (CPU/память/сеть) — то, что не смог дать
cAdvisor из-за несовместимости с containerd-снапшоттером сервера 1gb
(убран в 7f5c888). Свой минимальный сервис container-exporter (Python/
aiohttp/prometheus_client) опрашивает Docker Engine API параллельно в
фоновой задаче, не завязываясь на scrape-интервал Prometheus.
Доступ к докер-сокету изолирован через docker-socket-proxy: экспортеру
разрешены только GET /containers/json и /containers/*/stats, любые
изменяющие запросы блокируются на уровне прокси (POST=0) — полная
компрометация экспортера не даёт управлять Docker. Ни один из двух
сервисов не публикует портов наружу.
В host.json возвращены панели «Топ контейнеров по CPU/памяти» на новых
метриках vidconf_container_* (в 0.0.9 их убрали вместе с cAdvisor).
This commit is contained in:
@@ -80,10 +80,9 @@ groups:
|
||||
summary: "Мало свободной памяти на хосте"
|
||||
description: >-
|
||||
Свободно {{ $value | printf "%.1f" }}% RAM дольше 10 минут
|
||||
(порог 10% ≈ 800 МБ из 8 ГБ). Разбивки по контейнерам в Grafana
|
||||
нет (cAdvisor несовместим с containerd-снапшоттером на этом
|
||||
сервере, см. deploy/docker-compose.yml) — смотреть вручную,
|
||||
например `docker stats`.
|
||||
(порог 10% ≈ 800 МБ из 8 ГБ). Смотреть, какой контейнер ест
|
||||
память — дашборд «Хост и контейнеры», топ по памяти
|
||||
(container-exporter, см. deploy/monitoring/container-exporter/).
|
||||
|
||||
# 50 ГБ диска — 10% ≈ 5 ГБ. `for: 15m` (не мгновенно): диск не растёт
|
||||
# так же резко, как память, ложные срабатывания на всплеск не грозят,
|
||||
@@ -114,6 +113,6 @@ groups:
|
||||
summary: "Устойчиво высокая загрузка CPU хоста"
|
||||
description: >-
|
||||
Загрузка CPU {{ $value | printf "%.1f" }}% дольше 15 минут
|
||||
подряд (порог 90% из 4 ядер). Разбивки по контейнерам в Grafana
|
||||
нет (см. HostMemoryLow) — смотреть `docker stats` и латентность
|
||||
API — возможно, не хватает уровня AI/ресурсов под нагрузку.
|
||||
подряд (порог 90% из 4 ядер). Смотреть топ контейнеров по CPU
|
||||
(дашборд «Хост и контейнеры») и латентность API — возможно,
|
||||
не хватает уровня AI/ресурсов под нагрузку.
|
||||
|
||||
Reference in New Issue
Block a user