Оповещения

Оповещения — это способ поручить системе следить за данными вместо вас. Вы задаёте правило: запрос к данным и условие. Система проверяет его по расписанию, и когда условие выполняется, отправляет уведомление туда, куда вы указали — в 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 — как и отчёты, их удобно версионировать и переносить между установками.

← Оглавление документации