Собрал метрики
в единую систему.

Развернул Prometheus, Grafana и экспортёры метрик. Разделил наблюдение за ресурсами Debian, контейнерами, HTTP-ответами и PostgreSQL.

Источники → Prometheus → Grafana и Alertmanager.

Связал состояние сервера
с состоянием приложения.

Задача мониторинга — видеть, где возникла проблема: на хосте, в контейнере, HTTP-сервисе или базе данных. Поэтому сбор показателей организован на нескольких уровнях.

Prometheus получает метрики, Grafana показывает их в дашбордах, Alertmanager принимает события правил. Отдельный Netdata дополняет наблюдение за сервером. Внешний получатель уведомлений Alertmanager пока не настроен.

Каждый слой наблюдается отдельно.

  • node_exporter — процессор, память, диски и загрузка Debian.
  • cAdvisor — состояние и использование ресурсов контейнерами.
  • blackbox_exporter — проверка доступности HTTP.
  • postgres_exporter — метрики PostgreSQL.

Prometheus собирает, Grafana отображает.

Источники передают метрики в Prometheus. Он хранит временные ряды и вычисляет правила оповещений. Grafana отображает данные на панелях. Netdata используется отдельно для наблюдения за хостом в реальном времени.

Оповещения отделены от доставки уведомлений.

При сбое HTTP-проверка и метрики контейнеров помогают определить затронутый слой. Prometheus вычисляет правила и передаёт события в Alertmanager.

В актуальной карте внешний получатель уведомлений Alertmanager не настроен. Наличие сервиса не означает, что сообщения уже приходят в почту или мессенджер.

Сбой связывается с состоянием системы.

Недоступность HTTP проверяется вместе с состоянием контейнеров, маршрутизатора и туннелей. Если ошибка появилась после выпуска, проверяется возможность возврата версии. Данные на интерактивных схемах сайта иллюстрируют связи сервисов; это не текущая телеметрия сервера.