PPEM поддерживает отправку оповещений пользователям и группам пользователей по электронной почте для мониторинга агентов, хостов и экземпляров. Чтобы отправлять оповещения, вам нужно настроить SMTP-сервер.
Для отправки оповещения должен сработать триггер. Триггер оповещения срабатывает, когда значение метрики ниже, равно или выше, чем указанное пороговое значение. Метрики хранятся в источниках данных, например в базе данных репозитория.
Чтобы определить пороговое значение триггера оповещения, используются правила триггеров оповещений. Правило триггера оповещения — это набор из одного или нескольких условий, содержащих логические операторы и значения. Например, условие правила триггера оповещения может включать в себя логический оператор > и значение 0. При таком правиле триггер оповещения срабатывает, если значение указанной метрики превышает 0.
Отношения между несколькими условиями правил триггеров оповещений определяются логическими связками AND и OR.
Для нормальной работы оповещений необходимо предварительно установить и настроить средства журналирования и мониторинга.
В этом разделе описано, как управлять оповещениями, и приведены следующие инструкции:
Функциональность оповещений находится в стадии бета-тестирования. В настоящий момент для триггеров оповещений можно использовать только метрики pgpro-otel-collector. Другие ограничения указаны в соответствующих инструкциях этого раздела.
Предварительная настройка оповещений
Для работы с оповещениями их необходимо предварительно настроить в файле конфигурации менеджера ppem-manager.yml.
Вы можете указать следующие параметры:
alerts:
metrics:
request_chunk_size: количество_идентификаторов_экземпляров
cleanup_grace_period: интервал_удаления_оповещений_если_данные_не_получены
scheduler:
interval: интервал_проверки_новых_оповещений
initial_delay: задержка_запуска_планировщика_оповещений
timeout: тайм-аут_обновления_правил_триггеров_оповещений
delayed_data:
is_enabled: true или false
data_delay: задержка_получения_данных_из_любых_источников_установленная_по_умолчанию
datasource_delays:
metrics: задержка_получения_метрик
logs: задержка_получения_данных_журналов
max_delay: максимально_допустимая_задержка_получения_данных
is_adaptive_delay: true или false
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.
cleanup_grace_period: интервал времени, после которого оповещения удаляются, если данные не получены.
Значение по умолчанию: 6h.
scheduler: параметры планировщика, который обновляет оповещения в памяти менеджера.
interval: интервал времени для проверки планировщиком новых оповещений, которые необходимо обработать.
Значение по умолчанию: 50s.
initial_delay: задержка перед первым запуском планировщика после запуска PPEM.
Значение по умолчанию: 10s.
timeout: тайм-аут для обновления планировщиком правил триггеров оповещений.
Значение по умолчанию: 10m.
delayed_data: параметры для управления обработкой метрик и данных журналов, если они приходят с задержкой и точное время задержки неизвестно.
is_enabled: указывает, включены ли параметры управления обработкой данных, получаемых с задержкой.
Возможные значения:
true
false
Если для параметра задано значение true, в PPEM учитываются задержки при получении метрик и данных журналов.
Значение по умолчанию: false.
data_delay: установленная по умолчанию задержка получения данных из любых источников, если не настроены конкретные параметры управления обработкой данных, получаемых с задержкой.
Значение по умолчанию: 180s.
datasource_delays: задержка при получении данных из определённых источников. Этот параметр позволяет настроить разное время задержки для метрик и данных журналов, поскольку они могут поступать с разной скоростью.
Возможные значения:
metrics: задержка при получении метрик, в секундах. Как правило, интервалы сбора метрик более прогнозируемые, но задержки могут возникнуть из-за проблем с сетью или обработкой.
logs: задержка при получении данных журналов, в секундах. Данные журналов могут поступать чаще, но с меньшей предсказуемостью по времени из-за ротации и обработки журналов.
max_delay: максимально допустимая задержка, чтобы избежать обработки устаревших данных. Данные, полученные ранее установленного значения, игнорируются, чтобы не выводились неверные оповещения об устаревших данных.
Значение по умолчанию: 600s.
is_adaptive_delay: включает или отключает адаптивный механизм обучения на задержках получения данных, основанный на анализе истории получения данных.
Возможные значения:
true
false
Если механизм включён, фактические задержки при получении данных анализируются в PPEM на основе меток времени, и временное окно настраивается динамически.
Значение по умолчанию: true.
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.
Вы можете добавить несколько условий правил триггеров оповещений, нажав Добавить.
Условие для правил: логические связки для указанных условий правил триггеров оповещений.
Возможные значения:
И
Или
Этот параметр доступен, только если вы добавили несколько условий правил триггеров оповещений.
Экземпляры для проверки.
Возможные значения:
Проверять все.
Выбрать экземпляры.
Для этого значения из выпадающего списка Экземпляры выберите экземпляры.
Уведомлять пользователей: пользователи, которые будут получать оповещения.
Уведомлять группы: группы пользователей, которые будут получать оповещения.
Шаблон оповещения: шаблон текста оповещения.
В тексте оповещения можно использовать следующие переменные:
{{.Title}}: имя метрики, используемой для триггера оповещения.
{{.Timestamp}}: время и дата, когда сработал триггер оповещения.
{{.HostName}}: имя хоста, на котором сработал триггер.
{{.AgentName}}: агент, для которого сработал триггер.
{{.InstanceName}}: имя экземпляра, в котором сработал триггер.
{{.Status}}: статус триггера оповещения.
Уведомление о разрешении: указывает, отправляется ли оповещение при разрешении триггера.
Возможные значения:
Включено.
Для этого значения в поле Шаблон при разрешении введите шаблон текста оповещения.
В этом тексте оповещения можно использовать такие же переменные, как в поле Шаблон оповещения.
Выключено.
Нажмите Далее, затем Сохранить, чтобы подтвердить выбранные параметры и создать триггер.
Просмотр оповещений
В навигационной панели перейдите в Мониторинг → Оповещения.
Отобразится таблица оповещений со следующими столбцами:
Имя.
Состояние.
Возможные значения:
Включен
Выключен
Неактивен
Источник данных: источник данных триггера оповещения.
Этот столбец содержит следующую информацию:
Тип: тип метрик, используемых для триггера оповещения.
Возможные значения:
Репозитории: системные метрики.
Метрики: метрики pgpro-otel-collector.
Логи: журналы pgpro-otel-collector.
Этот тип метрик временно не поддерживается.
Параметры:
Интервал проверки, сек.: интервал времени в секундах для проверки источника данных триггера оповещения.
Проверка на нестабильнось, шт.: количество повторно сработавших триггеров, необходимых для остановки оповещения.
0 значит, что это ограничение отключено.
Задержка оповещения, сек.: время в секундах, в течение которого триггер должен повторно срабатывать, чтобы было отправлено оповещение.
Период охлаждения, сек.: время в секундах, в течение которого оповещение не отправляется после последнего сработавшего триггера.
0 значит, что это ограничение отключено.
Приоритет: приоритет оповещения.
Возможные значения:
Не задан
Низкий
Средний
Высокий
Получатели: пользователи, которые получают оповещения.
Группы получателей: группы пользователей, которые получают оповещения.
Правило: условия правила триггера оповещения.
Например, если условие правила триггера оповещения — postgresql.up > 0, оповещение отправляется, когда значение метрики postgersql.up превышает 0.
Действия.
За подробной информацией о доступных действиях обратитесь к другим инструкциям в этом разделе.
Просмотр подробной информации об оповещении
В навигационной панели перейдите в Мониторинг → Оповещения.
Нажмите → Смотреть подробности рядом с оповещением.
Отобразится окно с информацией об оповещении со следующими вкладками:
История оповещений: история срабатывания триггера.
Параметры. За подробной информацией о параметрах оповещений обратитесь к Создание оповещения.
Нажмите Закрыть.
Отключение и включение оповещений
В навигационной панели перейдите в Мониторинг → Оповещения.
Нажмите или
рядом с оповещением.
Редактирование оповещения
В навигационной панели перейдите в Мониторинг → Оповещения.
Нажмите → Редактировать рядом с оповещением.
Отредактируйте параметры оповещения.
Нажмите Сохранить.
Редактирование получателей оповещения
В навигационной панели перейдите в Мониторинг → Оповещения.
Нажмите → Изменить получателей рядом с оповещением.
Отредактируйте пользователей и группы пользователей, которые получают оповещения.
Нажмите Сохранить.
Очистка истории оповещений
В навигационной панели перейдите в Мониторинг → Оповещения.
Нажмите → Смотреть подробности рядом с оповещением.
Нажмите Очистить.
Удаление оповещения
Системные оповещения невозможно удалить.
После удаления оповещения невозможно восстановить.
Чтобы удалить оповещение:
В навигационной панели перейдите в Мониторинг → Оповещения.
Нажмите рядом с оповещением.
Подтвердите операцию и нажмите Удалить.