Стадия жизненного цикла модуля: General Availability
У модуля есть требования для установки

Модуль observability позволяет собирать метрики и отслеживать состояние управляемых сервисов, запущенных в кластере DKP.

Мониторинг сервисов включён по умолчанию при выполнении следующих требований:

  • DKP версии 1.76.0 или выше;
  • модуль prompp версии 3.7.10 или выше (если он используется).

Поддерживаемые сервисы

В данный момент модуль поддерживает мониторинг следующих управляемых сервисов:

Тип сервиса Область видимости У кого есть доступ
PostgreSQL Уровень проекта (неймспейса) Пользователи соответствующего проекта
Memcached Уровень проекта (неймспейса) Пользователи соответствующего проекта

Дашборды

Для просмотра данных о состоянии сервиса откройте соответствующий дашборд в веб-интерфейсе Deckhouse. Для этого перейдите в раздел «Мониторинг» → «Обзор данных», после чего в вертикальном меню выберите тип сервиса (например, «PostgreSQL») и в выпадающем меню выберите нужный инстанс.

Просмотр данных мониторинга сервисов

Алерты

Для сервисов PostgreSQL доступны следующие алерты:

Тип сервиса Название алерта Описание
PostgreSQL PgAutovacuumWorkers Исчерпан лимит процессов автоочистки; возможен рост таблиц и деградация производительности
PostgreSQL PgCheckError Агент мониторинга не смог собрать метрики с инстанса PostgreSQL
PostgreSQL PgMaxConnections Использование пула соединений превышает 95%; новые подключения могут отклоняться
PostgreSQL PgPluginConfig Плагин мониторинга PostgreSQL настроен не полностью
PostgreSQL PgReplicationStatus Главный сервер потерял репликационное соединение с ведомым сервером; данные на ведомом сервере могут устаревать
PostgreSQL PgTxidWraparound Приближение к исчерпанию идентификаторов транзакций; без срочного выполнения VACUUM база данных будет остановлена
PostgreSQL PgWaitingConnections Более одного соединения находится в состоянии ожидания; возможна конкуренция за блокировки
PostgreSQL PgWalArchiverFails Зафиксированы сбои WAL archiver; возможно накопление WAL-сегментов и исчерпание дискового пространства

Отключение мониторинга

Мониторинг сервисов управляется лейблом observability.deckhouse.io/servicemonitoring. Его можно задать на неймспейсе (для всех инстансов в проекте) или на конкретном поде (для отдельного инстанса).

Допустимые значения:

Значение Сбор метрик Алерты
enabled Да Да
no-alerts Да Нет
disabled Нет Нет

Если лейбл отсутствует или содержит неподдерживаемое значение, используется режим enabled.

Пример конфигурации:

apiVersion: v1
kind: Namespace
metadata:
  name: project-a
  labels:
    observability.deckhouse.io/servicemonitoring: no-alerts

Лейбл на поде может только ужесточить ограничение, заданное на неймспейсе, но не ослабить его. Эффективное значение для инстанса определяется по наиболее строгому правилу: enabled < no-alerts < disabled. В таблице ниже показано, как определяется эффективное значение в зависимости от значений лейбла на неймспейсе проекта и поде.

Лейбл на неймспейсе Лейбл на поде Эффективное значение
disabled Любое значение или не задан disabled
Любое значение или не задан disabled disabled
no-alerts Любое значение, кроме disabled no-alerts
Любое значение, кроме disabled no-alerts no-alerts
enabled или не задан enabled или не задан enabled