РазделыУведомления

Документация

Уведомления

Канал — это место, куда SmartAlert шлёт сообщения. Канал только доставляет. Чтобы заглушить, разобрать или изменить правило, откройте веб-приложение.

На этой странице
Telegram
ТарифFree и выше
СтатусДоступен
Slack
ТарифPro
СтатусДоступен
Discord
ТарифPro
СтатусДоступен
Webhook
ТарифPro
СтатусДоступен

Каналов в проекте: 1 на Free, 10 на Pro, 20 на Business.

Telegram

  1. Откройте Каналы (экран «Куда писать»), введите название канала и нажмите Добавить. SmartAlert выдаст ссылку на бота.
  2. Откройте ссылку и нажмите Start у бота. Для группового чата добавьте бота в группу и выполните команду там.
  3. Бот ответит в чате названием проекта. Канал включён.

Ссылка одноразовая и действует 15 минут. На истёкшую и на неизвестную ссылку бот отвечает одинаково: создайте новую ссылку.

Бот один на всех. Создавать своего бота и передавать токен не нужно.

Канал получает сообщения, только пока он активен. Если бота заблокировали, убрали из группы или удалили чат, канал получает статус «отозван», и приложение просит привязать его заново. Короткий сбой Telegram канал не отзывает.

Что в сообщении

  • важность, название правила, проекта и контракта;
  • значение, на котором сработало правило, и граница: порог, диапазон или норма в этот момент и отклонение от неё;
  • время и ссылка на страницу правила.

Сообщение по норме выглядит так: «15 событий Transfer, норма 40, отклонение −25». Знак записан явно: правило на тишину срабатывает ниже нормы.

Когда значение вернулось в норму, второе сообщение сообщает об этом и пишет, сколько это длилось.

Кнопок в сообщении пока нет.

Журнал доставок

Каждая попытка доставки записывается. По журналу видно, почему сообщение не пришло.

отправлено
Канал принял сообщение
ошибка
Все попытки не удались, причина в журнале
пропущено
Не отправлено намеренно: перерыв правила, исчерпан дневной лимит или канал не активен

При временной ошибке SmartAlert повторяет отправку до 5 раз в течение 15 минут. Неудавшуюся доставку можно повторить вручную из журнала.

Недоставленное сообщение не скрывает срабатывание: оно остаётся в истории срабатываний.

Slack, Discord, PagerDuty, почта, webhook

Каналы для Pro и выше. Slack, Discord и webhook подключаются по адресу: вставьте URL, нажмите Отправить тест, канал включится после успешной тестовой доставки. Ошибка в адресе видна сразу, а не ночью.

Slack

  1. В Slack создайте Incoming Webhook для нужного канала (инструкция Slack) и скопируйте его URL.
  2. В SmartAlert откройте Каналы, нажмите Добавить канал, выберите Slack и вставьте URL.
  3. Нажмите Отправить тест.

Сообщение: цветная полоса по важности, заголовок, поля «Значение», «Порог / норма», «Контракт» и ссылка «Открыть». Кнопок действий нет.

Discord

  1. В настройках канала Discord откройте Интеграции, затем Вебхуки, создайте вебхук и скопируйте его URL.
  2. В SmartAlert: Каналы, Добавить канал, Discord, вставьте URL.
  3. Нажмите Отправить тест.

Сообщение: embed с цветом по важности и теми же полями.

PagerDuty

Срабатывание открывает инцидент в вашем сервисе PagerDuty и закрывает его само, когда правило вернулось в норму. Посредник не нужен.

  1. В PagerDuty откройте сервис, вкладку Integrations, добавьте интеграцию Events API v2 и скопируйте Integration Key.
  2. В SmartAlert: Каналы, Добавить канал, PagerDuty, вставьте ключ. Аккаунт в Европе (адрес …eu.pagerduty.com) — отметьте это под полем.
  3. Нажмите Отправить тест: в сервисе появится тестовый инцидент и сразу закроется. Канал включится.

Почта

Письмо на адрес, который вы подтвердите: SmartAlert пришлёт ссылку, она действует 7 дней. До подтверждения срабатывания на адрес не приходят.

Писем в день: Pro — 200, Business — 1000, Enterprise — 5000. На Free почты нет. Лимит сбрасывается в 00:00 UTC; сверх него письмо пропускается, остальные каналы работают.

Webhook

JSON-запрос на ваш HTTPS-адрес. Подходит для своего сервиса. PagerDuty и почта — отдельные каналы, выше. SmartAlert создаёт секрет и показывает его один раз, им подписан каждый запрос. Формат, проверка подписи и повторы — в статье Webhook.

Адрес и секрет

  • После сохранения адрес в списке каналов показан частично, например hooks.slack.com/…/XXXX (последние 4 знака). Полный адрес и секрет хранятся зашифрованными и в логах не появляются.
  • Адрес меняется в меню канала: Изменить адрес. Новый адрес нужно проверить тестом.
  • Секрет webhook повторно не показывается. Новый выдаёт Сменить секрет. Он действует сразу, перекрытия со старым нет: обновите секрет у получателя до смены или сразу после неё.

Если канал отключён

Если получатель отвечает на боевую доставку 404 или 410 (вебхук удалён), доставка получает статус «ошибка», а канал — «отключён». Владельцу проекта уходит одно письмо «SmartAlert: канал {название} отключён» со ссылкой «Изменить адрес». Укажите новый адрес и пройдите тест, канал включится снова. Ошибка тестовой доставки канал не отключает: он остаётся неактивным, пока тест не пройдёт.

Правила

  • Только HTTPS. Приватные, loopback и link-local адреса отклоняются. Редиректы не выполняются.
  • Таймаут: 5 секунд. Ответ 2xx означает «доставлено». Повторы — как у Telegram, см. журнал доставок выше.
  • В журнале доставок виден ответ получателя: код и первые 200 символов тела.
  • На Free доступен только Telegram.
  • При понижении тарифа эти каналы перестают доставлять, в списке пометка «не доставляется: нужен Pro». Каналы сохраняются, доставка возобновится на Pro.

Свой текст уведомления

У правила можно задать свой текст сообщения вместо стандартного, например для публичного Telegram-канала протокола. Один текст на правило, для всех его каналов. Текст без разметки, до 2 000 знаков. Язык — тот, на котором вы его написали.

В текст подставляются переменные:

{rule}
Что подставляетсяНазвание правила
ПримерВывод больше $50 000
{value}
Что подставляетсяЗначение срабатывания с единицей
Пример$52 296
{threshold}
Что подставляетсяПорог с единицей, без знака сравнения
Пример$50 000
{network}
Что подставляетсяСеть
ПримерEthereum
{tx_url}
Что подставляетсяСсылка на транзакцию в эксплорере
Примерhttps://etherscan.io/tx/0xab…12
{alert_url}
Что подставляетсяСсылка на срабатывание в SmartAlert
Пример—

Числа форматируются на языке канала, как в стандартном сообщении. Если у переменной нет значения, например у срабатывания нет транзакции, подставляется пустая строка, а строка, где остались только пробелы и знаки препинания, не выводится. Фигурные скобки буквально — {{ и }}. С опечаткой в переменной правило не сохранится: форма подскажет правильное имя.

Рядом с полем — превью: как сообщение придёт в Telegram, письмо и PagerDuty. Значения в нём — из последнего срабатывания правила, а если срабатываний не было — пример по условию правила.

Где работает. Свой текст уходит только при срабатывании. «Вернулось в норму» и «Нет данных» приходят стандартными.

  • Telegram, Slack, Discord — весь текст. Символы разметки приходят как есть, ссылки — обычным адресом.
  • Email — первая строка становится темой письма, весь текст — телом.
  • PagerDuty — первая строка в заголовке инцидента, весь текст — в деталях.
  • Webhook — поле text, остальной payload прежний.

Текст длиннее предела канала (Telegram — 4 096 знаков, Discord — 2 000) обрезается с «…» в конце.

Тариф. Pro и выше. На Free виден стандартный текст под замком. После понижения тарифа свой текст работает дальше, изменить его можно только на Pro, а убрать — на любом тарифе.

Сводка за неделю

Раз в неделю — итог прошлой недели: сколько было срабатываний, сколько из них приняли, отклонили и оставили без ответа, сколько ушло в эскалацию. Отдельно — до трёх шумных правил с числами недели («6 из 7 отклонены»).

Настраивается в Настройки проекта → Сводка за неделю.

Чья
ПисьмоЛичная, каждый участник включает своё
Сводка в чатОдна на проект
Куда
ПисьмоНа почту участника
Сводка в чатTelegram, Slack, Discord, webhook — один или несколько каналов проекта
Когда
ПисьмоПонедельник 08:00 UTC
Сводка в чатДень недели и время UTC, шаг 15 минут
Совет по порогу
ПисьмоНет
Сводка в чатГде подбор нашёл порог — предложенное значение
Тариф
ПисьмоВсе тарифы
Сводка в чатPro и выше

Неделя всегда прошлая: с понедельника 00:00 до понедельника 00:00 UTC, какой бы день вы ни выбрали. В канал сводка уходит один раз, а не каждому участнику. Webhook получает JSON с событием digest.weekly.

Тихая неделя. Если срабатываний не было, приходит одна строка. Флажок «Присылать строку, если срабатываний не было» это выключает — тогда в тихую неделю в чат ничего не уйдёт.

Пробная. Кнопка «Отправить пробную» шлёт сводку за прошлую неделю с настоящими числами в отмеченные каналы, до сохранения. Заголовок начинается с «Пробная · ». Не чаще раза в минуту и 20 раз в сутки.

Другие проекты. Включение, день, время и тихую неделю можно применить к другим проектам на Pro и выше, где вы владелец или участник. Каналы не копируются: у каждого проекта свои.

Сводка не уходит, если она выключена, в проекте нет контрактов или ни один отмеченный канал не работает. Причина видна на экране настройки рядом с «Следующая сводка».

Тариф. Сводка в чат — Pro и выше. На Free остаётся письмо по понедельникам; настройка чата сохраняется и снова работает после перехода на Pro.

Нашли ошибку или не нашли ответ? Напишите