5.17. Оповещения #
PPEM поддерживает отправку оповещений пользователям и группам пользователей по электронной почте для мониторинга агентов, хостов и экземпляров. Чтобы отправлять оповещения, вам нужно настроить SMTP-сервер.
Для отправки оповещения должен сработать триггер. Триггер предупреждения срабатывает, когда значение метрики ниже, равно или выше, чем указанное пороговое значение. Метрики хранятся в источниках данных, например в базе данных репозитория.
Чтобы определить пороговое значение триггера оповещения, используются правила триггеров оповещений. Правило триггера оповещения — это набор из одного или нескольких условий, содержащих логические операторы и значения. Например, условие правила триггера оповещения может включать в себя логический оператор > и значение 0. При таком правиле триггер оповещения срабатывает, если значение указанной метрики превышает 0.
Отношения между несколькими условиями правил триггеров оповещений определяются логическими связками AND и OR.
Для нормальной работы оповещений необходимо предварительно установить и настроить средства журналирования и мониторинга.
В этом разделе описано, как управлять оповещениями, и приведены следующие инструкции:
Важно
Функциональность оповещений находится в стадии бета-тестирования. В настоящий момент для триггеров оповещений можно использовать только метрики pgpro-otel-collector. Другие ограничения указаны в соответствующих инструкциях этого раздела.
Предварительная настройка оповещений
Для работы с оповещениями их необходимо предварительно настроить в файле конфигурации менеджера ppem-manager.yml.
Вы можете указать следующие параметры:
alerts:
metrics:
request_chunk_size: количество_идентификаторов_экземпляров
scheduler:
interval: интервал_проверки_новых_оповещений
initial_delay: задержка_запуска_планировщика_оповещений
timeout: тайм-аут_обновления_правил_триггеров_оповещений
notifier:
num_workers: количество_параллельных_рабочих_процессов
worker_batch_size: количество_оповещений_в_одном_пакете
worker_interval: интервал_проверки_новых_оповещений
backoff_base: длительность_расчёта_экспоненциальной_задержки
max_retries: максимальное_количество_попыток_оповещения
notification_timeout: тайм-аут_оповещения
janitor_interval: интервал_опроса_рабочего_процесса_очистки
stale_processing_timeout: тайм-аут_обработки_устаревших_оповещений
email:
is_enabled: true или false
smtp:
host: имя_хоста_или_IP_SMTP-сервера
port: порт_SMTP-сервера
username: имя_пользователя_для_аутентификации_в_SMTP-сервере
password: пароль_для_аутентификации_в_SMTP-сервере
from: электронная_почта_отправителя_оповещений
timeout: тайм-аут_подключения_к_SMTP-серверу
use_starttls: true или false
use_ssl: true или false
tls:
insecure_skip_verify: true или false
root_ca_path: путь_к_корневому_сертификатуГде:
metrics: параметры отправки запросов плагину метрик.request_chunk_size: максимальное количество идентификаторов экземпляров в одном запросе.Значение по умолчанию:
100.
scheduler: параметры планировщика, который обновляет оповещения в памяти менеджера.interval: интервал времени для проверки планировщиком новых оповещений, которые необходимо обработать.Значение по умолчанию:
50s.initial_delay: задержка перед первым запуском планировщика после запуска PPEM.Значение по умолчанию:
10s.timeout: тайм-аут для обновления планировщиком правил триггеров оповещений.Значение по умолчанию:
10m.
notifier: параметры системы уведомлений, которая отправляет оповещения.num_workers: количество параллельных рабочих процессов, которые отправляют оповещения.Значение по умолчанию:
5.worker_batch_size: количество оповещений, обрабатываемых рабочими процессами в одном пакете.Значение по умолчанию:
20.worker_interval: интервал опроса, с которым рабочие процессы проверяют, не появились ли новые оповещения в базе данных репозитория.Значение по умолчанию:
30s.backoff_base: базовая длительность расчёта экспоненциальной задержки при повторной отправке неудавшегося оповещения.Задержка повторной отправки оповещения рассчитывается как:
базовая_задержкаX (2^количество_попыток_повторной_отправки).Значение по умолчанию:
10s.max_retries: максимальное количество попыток повторно отправить неудавшееся оповещение.Значение по умолчанию:
3.notification_timeout: максимальное время, в течение которого система уведомлений должна ожидать отправки оповещения. Если по прошествии этого времени оповещение не было отправлено, оно считается неудавшимся.Значение по умолчанию:
20s.janitor_interval: интервал опроса рабочего процесса очистки (janitor worker), который очищает оповещения, застрявшие в состоянии обработки.Значение по умолчанию:
1m.stale_processing_timeout: время, по прошествии которого оповещения, застрявшие в состоянии обработки, считаются устаревшими и должны быть сброшены рабочим процессом очистки.Значение по умолчанию:
10m.
email: параметры отправки оповещений по электронной почте.is_enabled: указывает, отправляются ли оповещения по электронной почте.Возможные значения:
truefalse
Если указано значение
false, вместо отправки по электронной почте оповещения попадают в журнал.Значение по умолчанию:
false.smtp: параметры SMTP-сервера, используемого для отправки оповещений.host: имя хоста или IP-адрес SMTP-сервера.Значение по умолчанию:
localhost.port: номер порта SMTP-сервера.Значение по умолчанию:
25.username: имя пользователя для аутентификации в SMTP-сервере.Значение по умолчанию:
"".password: пароль для аутентификации в SMTP-сервере.Значение по умолчанию:
"".from: адрес электронной почты отправителя оповещений.Значение по умолчанию:
admin@localdomain.local.timeout: тайм-аут подключения к SMTP-серверу.Значение по умолчанию:
10s.use_starttls: указывает, используется ли расширение STARTTLS для обеспечения безопасности подключения к SMTP-серверу.Возможные значения:
truefalse
Значение по умолчанию:
false.use_ssl: указывает, используется ли протокол SSL/TLS для подключения к SMTP-серверу.Возможные значения:
truefalse
Значение по умолчанию:
false.tls: параметры TLS-протокола.insecure_skip_verify: указывает, пропускает ли клиент проверку цепочки сертификатов и имени хоста SMTP-сервера.Возможные значения:
truefalse
Значение по умолчанию:
false.Важно
Задавать
trueдля этого параметра небезопасно. Делайте это только для тестирования или при работе с доверенными сетями.root_ca_path: путь к корневому сертификату, который используется для проверки сертификата SMTP-сервера.Значение по умолчанию:
"".
Создание оповещения
В навигационной панели перейдите в Мониторинг → Оповещения.
В правом верхнем углу страницы нажмите Создать триггер.
Укажите параметры нового оповещения (помеченные звёздочкой параметры являются обязательными):
Имя.
Тип источника данных: тип метрик, которые будут использоваться для триггера оповещения.
В настоящий момент можно использовать только метрики pgpro-otel-collector.
Источник данных.
Состояние: состояние оповещения после создания.
Возможные значения:
Выключен
Включен
Интервал проверки, сек.: интервал времени в секундах для проверки источника данных триггера оповещения.
Минимальное значение:
60.Проверка на нестабильнось, шт.: количество повторно сработавших триггеров, необходимых для остановки оповещения.
0значит, что это ограничение отключено.Задержка оповещения, сек.: время в секундах, в течение которого триггер должен повторно срабатывать, чтобы было отправлено оповещение.
Период охлаждения, сек.: время в секундах, в течение которого оповещение не будет отправляться после последнего сработавшего триггера.
0значит, что это ограничение отключено.
Примечание
В настоящий момент значения Проверка на нестабильнось, шт., Задержка оповещения, сек. и Период охлаждения, сек. изменить невозможно.
Нажмите Далее, затем укажите дополнительные параметры (помеченные звёздочкой параметры являются обязательными):
Имя метрики: имя метрики без дополнительных символов, которое будет использоваться для триггера оповещения.
Вы можете использовать следующие метрики pgpro-otel-collector из таблицы
monitoring.metricsбазы данных репозитория:postgresql.archiver.archived_countpostgresql.archiver.failed_countpostgresql.bgwriter.buffers_checkpointpostgresql.bgwriter.buffers_cleanpostgresql.bgwriter.buffers_backendpostgresql.bgwriter.buffers_allocatedpostgresql.bgwriter.maxwritten_cleanpostgresql.bgwriter.buffers_backend_fsyncpostgresql.bgwriter.checkpoints_requestedpostgresql.bgwriter.checkpoints_timedpostgresql.bgwriter.checkpoint_sync_time_millisecondspostgresql.bgwriter.checkpoint_write_time_millisecondspostgresql.databases.blocks_hitpostgresql.databases.blocks_readpostgresql.databases.conflictspostgresql.databases.deadlockspostgresql.databases.checksum_failurespostgresql.databases.tuples_fetchedpostgresql.databases.tuples_returnedpostgresql.databases.tuples_insertedpostgresql.databases.tuples_updatedpostgresql.databases.tuples_deletedpostgresql.databases.temp_bytespostgresql.databases.temp_filespostgresql.wal.bytespostgresql.databases.rollbackssystem.cpu.utilizationsystem.memory.usagesystem.paging.usagepostgresql.wal.recordspostgresql.databases.commits
Оператор • Порог значения: условие правила триггера оповещения, содержащее логический оператор и значение.
Возможные логические операторы:
= (eq)
> (gt)
>= (gte)
< (lt)
<= (lte)
!= (neq)
Например, если вы выбираете
>и указываете0, оповещение отправляется, когда значение указанной метрики превышает0.Вы можете добавить несколько условий правил триггеров оповещений, нажав Добавить.
Условие для правил: логические связки для указанных условий правил триггеров оповещений.
Возможные значения:
AND
OR
Этот параметр доступен, только если вы добавили несколько условий правил триггеров оповещений.
Экземпляры для проверки.
Возможные значения:
Проверять все.
Выбрать экземпляры.
Для этого значения из выпадающего списка Экземпляры выберите экземпляры.
Уведомлять пользователей: пользователи, которые будут получать оповещения.
Уведомлять группы: группы пользователей, которые будут получать оповещения.
Шаблон оповещения: шаблон текста оповещения.
В тексте оповещения можно использовать следующие переменные:
{{.Title}}: имя метрики, используемой для триггера оповещения.{{.Timestamp}}: время и дата, когда сработал триггер оповещения.{{.Status}}: статус триггера оповещения.
Уведомление о разрешении: указывает, отправляется ли оповещение при разрешении триггера.
Возможные значения:
Включено.
Для этого значения в поле Шаблон при разрешении введите шаблон текста оповещения.
В этом тексте оповещения можно использовать такие же переменные, как в поле Шаблон оповещения.
Выключено.
Нажмите Сохранить.
Просмотр оповещений
В навигационной панели перейдите в Мониторинг → Оповещения.
Отобразится таблица оповещений со следующими столбцами:
Имя.
Состояние.
Возможные значения:
Включен
Выключен
Источник данных: источник данных триггера оповещения.
Этот столбец содержит дополнительную информацию:
Тип: тип метрик, используемых для триггера оповещения.
Возможные значения:
Репозитории: системные метрики.
Метрики: метрики pgpro-otel-collector.
Логи: журналы pgpro-otel-collector.
Этот тип метрик временно не поддерживается.
Интервал проверки, сек.: интервал времени в секундах для проверки источника данных триггера оповещения.
Проверка на нестабильнось, шт.: количество повторно сработавших триггеров, необходимых для остановки оповещения.
0значит, что это ограничение отключено.Задержка оповещения, сек.: время в секундах, в течение которого триггер должен повторно срабатывать, чтобы было отправлено оповещение.
Период охлаждения, сек.: время в секундах, в течение которого оповещение не отправляется после последнего сработавшего триггера.
0значит, что это ограничение отключено.Получатели: пользователи, которые получают оповещения.
Группы получателей: группы пользователей, которые получают оповещения.
Правило: условия правила триггера оповещения.
Например, если условие правила триггера оповещения —
postgresql.up > 0, оповещение отправляется, когда значение метрикиpostgersql.upпревышает0.Действия.
За подробной информацией о доступных действиях обратитесь к другим инструкциям в этом разделе.
Отключение и включение оповещений
В навигационной панели перейдите в Мониторинг → Оповещения.
Нажмите
или
рядом с оповещением.
Редактирование получателей оповещения
В навигационной панели перейдите в Мониторинг → Оповещения.
Нажмите
рядом с оповещением.
Отредактируйте пользователей и группы пользователей, которые получают оповещения.
Нажмите Сохранить.
Удаление оповещения
Важно
Системные оповещения невозможно удалить.
После удаления оповещения невозможно восстановить.
Чтобы удалить оповещение:
В навигационной панели перейдите в Мониторинг → Оповещения.
Нажмите
рядом с оповещением.
Подтвердите операцию и нажмите Удалить.