Умные HTTP-алерты: замедление до жёсткого дауна
Помимо up/down, у HTTP-мониторов можно включить smart alerts: сканер смотрит последние проверки, сравнивает медианы задержек, считает жёсткие ошибки и «дребезг» состояний — затем открывает degraded-инцидент и шлёт отдельное письмо с темой про деградацию, с часовым кулдауном между отправками.
Что реально считает код
Хранятся до двадцати последних сканов. Сравниваются медианы времени ответа у десяти старых и десяти новых успешных проверок, считаются ответы с кодами уровня 5xx и число переключений success/failure как признак дребезга — прежде чем пометить деградацию.
Зачем тип degraded
Degraded — отдельный тип инцидента: предупредить о медленном или нестабильном поведении без полноценного «всё упало», оставаясь в той же модели контактов, что и обычные дауны.
Письма и кулдаун
Уведомления идут через те же контакты, но тема берётся из отдельной строки перевода про деградацию; повторная отправка не чаще одного часа на монитор.
Кому доступно включение
В текущей матрице планов smart alerts при создании монитора разрешены для оплаченного Enterprise (и superuser в dev). На Starter/Team переключатель недоступен — так совпадает выставление ожиданий и нагрузка поддержки.
Отличие от гайда по времени ответа
Гайд про response time объясняет перцентили для людей. Smart alerts — жёсткий набор правил на той же истории сканов, чтобы автоматически поднять инцидент и письмо.
Отличие от SLA-отчётов
SLA CSV суммирует аптайм за окно. Smart alerts реагируют на коротком скользящем окне проверок — раньше, чем закроется отчётный период SLA.
Осторожность в эксплуатации
Нужна накопленная история — у нового монитора сначала мало сканов. Используйте как дополнительный слой к обычным даун-алертам и ранбуку.
Где настраивать
На карточке HTTP-монитора при eligible-плане появляется блок smart alerts — включите его вместе с нужным контактом.
Что можно проверять в SitePuls на этой странице
- Эвристика smart alerts вызывается для HTTP-мониторов с доступным в UI переключателем; остальные типы следуют своим правилам инцидентов без этого окна из двадцати сканов.
- Берутся последние двадцать сканов: медианы задержек у десяти старых и десяти новых успешных проверок, число жёстких ошибок и число переключений success/failure как признак дребезга.
- При срабатывании порогов открывается degraded-инцидент и может уйти письмо `_notify_degraded` с отдельной темой из переводов; между отправками — кулдаун около часа на монитор.
- Включение smart alerts при создании монитора разрешено для оплаченного Enterprise (и superuser в dev) в текущей матрице планов; Starter/Team — переключатель выключен.
Куда уходят оповещения об инцидентах
- Адреса электронной почты в контактах получают письма при открытии и закрытии инцидентов (в рамках настроек уведомлений).
- Уведомления в Telegram через бота SitePuls после привязки чата к контакту (включая сценарий /start для ожидающих контактов).
- HTTPS-вебхуки с JSON: тип события, идентификаторы монитора, статус, время, при необходимости id инцидента и короткое сообщение — для своих интеграций.
- Режим Slack-compatible incoming webhook: отдельный формат полезной нагрузки в настройках контакта.
FAQ
Smart alerts заменяют обычные даун-уведомления?
Нет. Жёсткие падения идут по стандартному пути; smart добавляет degraded и отдельное письмо с кулдауном.
Работает для API или heartbeat?
Хук в коде вызывается для HTTP-мониторов с доступным в UI переключателем.
Какие пороги задержки?
Сравнение медиан десяти старых и десяти новых успешных сканов: деградация, если новая медиана ≥800 мс и в ≥1.8 раза выше базы, либо сработали пороги по ошибкам/дребезгу.
Сколько ошибок нужно?
Среди последних двадцати сканов три и более с жёсткой классификацией ошибки дают вклад в degraded.
Что такое flapping?
Больше трёх переключений между классами success и error в том же окне из двадцати сканов.
Можно отключить после включения?
Да — чекбокс на странице монитора, сохранение пишет `smart_alert_enabled` как обычное поле.
Виден ли degraded на публичном статусе?
Публичные страницы строятся из включённых мониторов и инцидентов; см. гайд по public status для колонок.
С чего читать?
Сначала аптайм и инциденты, затем response time для контекста перцентилей, затем возвращайтесь сюда к автоматическим правилам.