Оповещения — это способ поручить системе следить за данными вместо вас. Вы задаёте правило: запрос к данным и условие. Система проверяет его по расписанию, и когда условие выполняется, отправляет уведомление туда, куда вы указали — в Telegram, Slack, на почту и ещё в два десятка каналов. Проверять показатели вручную больше не нужно: система сама сообщит, когда что-то пойдёт не так.
Правила оповещений
Правило — это обычный SQL-запрос к вашему источнику данных плюс условие. Пример: правило «мало заказов» считает число заказов за последний час и срабатывает, когда их стало меньше десяти. Условия задаются просто: порог «выше/ниже числа», диапазон значений, математическое выражение — или сводка по группам данных.
- правила собираются в группы, и для каждой группы задаётся интервал проверки — от 10 секунд до раза в сутки;
- перед срабатыванием можно задать период ожидания: например, сигналить только если проблема держится две минуты подряд, чтобы разовые колебания не создавали шум;
- после восстановления можно удерживать сигнал какое-то время, чтобы тревога не мигала при каждом изменении;
- любое правило можно проверить вручную: оно выполнит запрос, покажет, что сработало бы, и ничего не отправит;
- правило можно приостановить (пауза) или продублировать — например, чтобы сделать копию под другой источник.
Что происходит при срабатывании
Каждое правило живёт жизнью: спокойно → ожидание → сработало → восстановилось. Переходы видны в списке «экземпляров» правила (по одному на каждую группу данных) и записываются в историю: когда сработало, какие были значения, что изменилось. Есть и особые состояния:
- Нет данных — запрос вернул пустой результат. Это само по себе может быть тревогой: например, если счётчики с сервера перестали приходить, значит, что-то сломалось;
- Ошибка — проверка не смогла выполниться (например, отключился источник данных). Можно настроить, считать ли это тревогой или просто пометить.
Куда отправлять уведомления
Получатели задаются в разделе «Точки контакта». Одна точка контакта — это один получатель (например, Telegram-группа вашей команды), и у неё может быть несколько способов доставки сразу: и Telegram, и почта. Поддерживается 22 канала:
- мессенджеры и чаты: Telegram, Slack, Discord, Teams, Google Chat, WhatsApp-подобные (Line, WeCom);
- почта, webhook, SMS-сервисы и системы дежурств: email, webhook, PagerDuty, Opsgenie, VictorOps, Pushover;
- инструменты команд: Jira, Confluence-подобные (Sensu), Kafka, MQTT и другие.
У каждой точки контакта есть кнопка проверки: она отправляет настоящее тестовое уведомление, чтобы убедиться, что всё настроено правильно, — ещё до того, как случится первая тревога.
Кому и когда отправлять
«Политики уведомлений» — это дерево правил, которое решает, какая тревога кому уходит. Например: все тревоги — в общий чат, а тревоги с меткой «база данных» — дополнительно команде дежурных. Политики умеют:
- Группировка — похожие тревоги собираются в одно сообщение и приходят одним уведомлением, а не десятью;
- Повтор — если тревога не ушла, система напомнит через заданный интервал;
- Наследование — можно задать общее правило для всех и дополнять его для отдельных команд: новые политики подхватывают настройки родительских.
Тишина
Не всякая тревога требует немедленного вмешательства. Два механизма позволяют «замолчать» уведомления:
- Интервалы тишины — повторяющееся расписание: по ночам, в выходные и в праздники уведомления не шлются. Время считается по вашему часовому поясу, интервалы могут переходить через полночь;
- Тишины — разовое затишье по меткам: «замолчи на два часа в обед» для конкретного сервера или правила. Тишина начинается сразу и действует до указанного времени; в любой момент её можно завершить досрочно.
Тишины удобно включать прямо из списка сработавших тревог: одна кнопка создаёт тишину для этого правила и этих данных.
Шаблоны сообщений
Текст уведомлений настраивается шаблонами: название, суть, ссылки на отчёт и правило. На каждый канал есть готовый шаблон по умолчанию (для Telegram, Slack, почты и других), и его можно переопределить своим — например, чтобы в письме сразу была таблица с цифрами.
История и журнал доставки
В разделе «История» видно всё, что происходило:
- история срабатываний — переходы состояний каждого правила с датами, значениями и комментариями;
- журнал доставки — какие уведомления ушли, каким каналом, кому и удалось ли их доставить;
- повторы при сбоях — если канал не ответил, доставка повторяется с постепенно увеличивающейся паузой и в журнале видно каждую попытку;
- срок хранения — история хранится заданное число дней (по умолчанию 30) и автоматически подчищается.
Запись результатов проверок
Отдельный тип правил — «запись метрик»: правило, которое просто выполняет запрос по расписанию и складывает результат в базу Analytics Agent. Из сохранённых данных можно строить свои графики и панели, а поверх них — другие правила оповещений. Хранение ограничено сроком (по умолчанию 90 дней).
Все настройки оповещений хранятся обычными JSON-файлами в папке data/alerting — как и отчёты, их удобно версионировать и переносить между установками.