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: указывает, отправляются ли оповещения по электронной почте.
Возможные значения:
true
false
Если указано значение 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-серверу.
Возможные значения:
true
false
Значение по умолчанию: false.
use_ssl: указывает, используется ли протокол SSL/TLS для подключения к SMTP-серверу.
Возможные значения:
true
false
Значение по умолчанию: false.
tls: параметры TLS-протокола.
insecure_skip_verify: указывает, пропускает ли клиент проверку цепочки сертификатов и имени хоста SMTP-сервера.
Возможные значения:
true
false
Значение по умолчанию: false.
Задавать true для этого параметра небезопасно. Делайте это только для тестирования или при работе с доверенными сетями.
root_ca_path: путь к корневому сертификату, который используется для проверки сертификата SMTP-сервера.
Значение по умолчанию: "".
Создание оповещения
В навигационной панели перейдите в Мониторинг → Оповещения.
В правом верхнем углу страницы нажмите Создать триггер.
Укажите параметры нового оповещения (помеченные звёздочкой параметры являются обязательными):
Имя.
Тип источника данных: тип метрик, которые будут использоваться для триггера оповещения.
В настоящий момент можно использовать только метрики pgpro-otel-collector.
Источник данных.
Состояние: состояние оповещения после создания.
Возможные значения:
Выключен
Включен
Интервал проверки, сек.: интервал времени в секундах для проверки источника данных триггера оповещения.
Минимальное значение: 60.
Проверка на нестабильнось, шт.: количество повторно сработавших триггеров, необходимых для остановки оповещения.
0 значит, что это ограничение отключено.
Задержка оповещения, сек.: время в секундах, в течение которого триггер должен повторно срабатывать, чтобы было отправлено оповещение.
Период охлаждения, сек.: время в секундах, в течение которого оповещение не будет отправляться после последнего сработавшего триггера.
0 значит, что это ограничение отключено.
В настоящий момент значения Проверка на нестабильнось, шт., Задержка оповещения, сек. и Период охлаждения, сек. изменить невозможно.
Нажмите Далее, затем укажите дополнительные параметры (помеченные звёздочкой параметры являются обязательными):
Имя метрики: имя метрики без дополнительных символов, которое будет использоваться для триггера оповещения.
Вы можете использовать следующие метрики pgpro-otel-collector из таблицы monitoring.metrics базы данных репозитория:
postgresql.archiver.archived_count
postgresql.archiver.failed_count
postgresql.bgwriter.buffers_checkpoint
postgresql.bgwriter.buffers_clean
postgresql.bgwriter.buffers_backend
postgresql.bgwriter.buffers_allocated
postgresql.bgwriter.maxwritten_clean
postgresql.bgwriter.buffers_backend_fsync
postgresql.bgwriter.checkpoints_requested
postgresql.bgwriter.checkpoints_timed
postgresql.bgwriter.checkpoint_sync_time_milliseconds
postgresql.bgwriter.checkpoint_write_time_milliseconds
postgresql.databases.blocks_hit
postgresql.databases.blocks_read
postgresql.databases.conflicts
postgresql.databases.deadlocks
postgresql.databases.checksum_failures
postgresql.databases.tuples_fetched
postgresql.databases.tuples_returned
postgresql.databases.tuples_inserted
postgresql.databases.tuples_updated
postgresql.databases.tuples_deleted
postgresql.databases.temp_bytes
postgresql.databases.temp_files
postgresql.wal.bytes
postgresql.databases.rollbacks
system.cpu.utilization
system.memory.usage
system.paging.usage
postgresql.wal.records
postgresql.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.
Действия.
За подробной информацией о доступных действиях обратитесь к другим инструкциям в этом разделе.
Отключение и включение оповещений
В навигационной панели перейдите в Мониторинг → Оповещения.
Нажмите или
рядом с оповещением.
Редактирование получателей оповещения
В навигационной панели перейдите в Мониторинг → Оповещения.
Нажмите рядом с оповещением.
Отредактируйте пользователей и группы пользователей, которые получают оповещения.
Нажмите Сохранить.
Удаление оповещения
Системные оповещения невозможно удалить.
После удаления оповещения невозможно восстановить.
Чтобы удалить оповещение:
В навигационной панели перейдите в Мониторинг → Оповещения.
Нажмите рядом с оповещением.
Подтвердите операцию и нажмите Удалить.