Стадия жизненного цикла модуля: 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 |