Переходите с UptimeRobot? Импортируйте мониторы одним кликом по ключу API только для чтения.Начать бесплатно →
  1. Главная
  2. Решения
  3. DevOps
Для DevOps и SRE

Проверки снаружи, которые не кричат «волки»

Инцидент открывается, когда независимые регионы согласны, эскалируется, если никто не ответил, и молчит во время ваших деплоев.

Начать бесплатно Цена простоя

Вид дежурного

Один инцидент так, как его видит ваш пейджер

Сбой в одном регионе — это подозрение, а не инцидент. Подтвердите получение, и шаги эскалации остановятся.

Инциденты · последние 24 ч
  • shop.clienta.com не ответил из Франкфурта: подозрение, перепроверяем
  • Подтверждено 2 из 2 регионами: инцидент открыт
  • Оповещение в Telegram #oncall
  • api.clienta.com не ответил только из одного региона: не подтверждено, оповещения нет, осталось в журнале как локальный сбой
Heartbeat ci-nightly-build пинг получен 3 мин назад

Эскалация Пример политики

  1. сразуTelegram #oncall
  2. +1 минSlack #sre
  3. +5 минPagerDuty (Agency)

Иллюстративный макет

Что это даёт вашей роли

Три вещи, которые здесь важны

Подтверждено, прежде чем будить

Сбой становится инцидентом, только когда его подтверждают оба региона. Один нестабильный маршрут остаётся в истории локальным сбоем.

Эскалация по вашему графику дежурств

Сначала Telegram, потом Slack и e-mail с задержкой, подписанные webhook — с Pro, PagerDuty — на Agency. Подтвердите где угодно, и остальные шаги остановятся.

Heartbeat для CI и cron

Один curl в конце задачи. Пропущенный пинг или вызов /fail открывает инцидент. Heartbeat начинается со Starter (20); на Agency — 500.

Оповещения приходят туда, где вы уже работаете

E-mail, Discord и Google Chat — на всех тарифах; Slack, Telegram, Teams и Mattermost — с тарифа Starter; webhook — с Pro; Zapier и PagerDuty — на Agency. SMS и голосовых звонков нет.

  • Slack
  • Telegram
  • PagerDuty
  • Microsoft Teams
  • Mattermost
  • Discord
  • Webhook
Типичный сценарий

Ночь деплоя от начала до конца

Иллюстративный сценарий, а не история клиента

  1. Пайплайн через API ставит на паузу нужные мониторы и выкатывает релиз.
  2. Он запускает одну проверку снаружи, видит успех и снимает мониторы с паузы.
  3. Один регион на 40 секунд теряет маршрут. Никого не будят: сбой не подтвердился.
  4. Ночная задача не прислала пинг. Инцидент heartbeat открывается сразу, а Telegram несёт последние строки лога.

За всю ночь один звонок, и настоящий.

Цена простоя

Сколько вам стоит час простоя?

Грубая честная цифра, чтобы сравнить её с ценой монитора. Считается в вашем браузере, ничего никуда не отправляется.

Ориентировочные потери$600

Для сравнения: тариф Starter стоит $7 в месяц. Выручка — это не все издержки (время поддержки, реклама, которая продолжает идти, доверие), так что считайте цифру нижней границей.

Ложные тревоги — проблема дежурств, а не мониторинга

Сбой в одной точке проверки Tenium считает гипотезой. Регион, не получивший ответа, помечает монитор подозрительным и просит другие регионы немедленно перепроверить. Инцидент открывается, только когда оба региона сообщают о сбое в окне подтверждения, которое по умолчанию длится 60 секунд. Восстановление подтверждается так же, поэтому сервис, который то работает, то нет, даёт один инцидент с переходами внутри, а не череду уведомлений.

Чтобы было честно: монитор, который вы намеренно привязали к одному региону, пропускает подтверждение и оповещает с первого сбоя, и интерфейс это чётко помечает.

Эскалация, heartbeat и API

Политики эскалации появляются на Pro ($29): Telegram сразу, e-mail основному дежурному через несколько минут без подтверждения, затем второй контакт. PagerDuty и Zapier — на Agency ($59). Heartbeat-монитор работает наоборот: ваша задача вызывает Tenium, а если вызова нет до дедлайна или задача зовёт /fail, открывается инцидент.

Чтобы деплой не будил дежурного, поставьте мониторы на паузу через API (POST /monitors/{id}/pause), выкатите релиз, запустите POST /monitors/{id}/check и снимите паузу. Для записи нужен ключ с правом записи на Pro или Agency.

Heartbeat для cron, CI и пакетных задач

Тише всего ломаются задачи, за которыми никто не следит: ночные резервные копии, продление сертификатов, чистильщики очередей, выгрузки данных, плановый пайплайн, в который никто не заглядывал со времён миграции. Heartbeat-монитор меняет направление: не Tenium вызывает ваш сервис, а ваша задача вызывает Tenium, и если вызова нет к дедлайну, монитор переходит в состояние сбоя.

  • Добавьте к задаче один запрос: curl -fsS -m 10 https://ping.tenium.app/h/abc123 > /dev/null.
  • Чтобы измерять длительность, вызывайте адрес с суффиксом /start перед задачей и обычный после неё; задача, которая стартовала и не завершилась, тоже помечается.
  • Вызывайте /fail в обработчике ошибок, чтобы сразу открыть инцидент с хвостом лога до 10 КБ.
  • Задайте период и запас времени либо cron-выражение с часовым поясом, чтобы ночная задача в 03:00 не оценивалась по арифметике летнего времени.

Heartbeat начинается со Starter, количество зависит от тарифа: 20 на Starter, 100 на Pro и 500 на Agency. Все суффиксы и форматы запросов описаны в разделах мониторинг cron-заданий и API: heartbeat-мониторы.

Деплои, обслуживание и API

Плановые работы не должны портить аптайм и будить людей. Окна обслуживания, разовые или повторяющиеся, задают в приложении с часовым поясом: они приглушают оповещения и исключают этот период из отчётного аптайма. Для развёртываний из пайплайна REST API даёт POST /monitors/{id}/pause и /resume: задача деплоя ставит нужные мониторы на паузу, выкатывает релиз, запускает POST /monitors/{id}/check, чтобы проверить снаружи, и снимает мониторы с паузы. Для записи нужен ключ с правом записи на Pro или Agency; лимиты — 120 запросов на запись в минуту на ключ и одна немедленная проверка на монитор раз в десять секунд. Эндпоинты и примеры curl есть в обзоре API, а окна обслуживания описывают плановые работы.

Чётко о границах: Tenium не собирает внутренние метрики, не проходит сценарии в браузере и не заменяет трассировку. Он проверяет снаружи то, что увидел бы клиент, — до 30 с на Pro и Agency — и сообщает нужному человеку, когда доказательства уже надёжны.

Webhook в вашу собственную инфраструктуру

Подписанные webhook на Pro отправляют события incident.opened, incident.acknowledged и incident.resolved, а также события о сроке действия и времени ответа, в виде JSON с подписью HMAC-SHA256 над меткой времени и телом. Проверяйте подпись и отклоняйте всё старше пяти минут — и вы сможете направлять события в чат-опс, очередь тикетов или автоматизацию ранбуков, не доверяя сетевому пути. Неудачные доставки повторяются пять раз примерно за полчаса. Форматы данных — в документации по webhook.

Вопросы DevOps

Разбудит ли дежурного один нестабильный маршрут?

Нет. Один регион лишь помечает монитор подозрительным, а инцидент открывается, когда оба региона подтверждают сбой. Единичный сбой остаётся в истории как локальный.

Можно ли получать вызовы через PagerDuty?

Да, на тарифе Agency ($59). На Pro ($29) есть политики эскалации с Telegram, Slack и e-mail и подписанные webhook.

Как не допустить, чтобы деплой вызывал ложные оповещения?

Запланируйте окно обслуживания в приложении для известных работ или поставьте соответствующие мониторы на паузу через API перед развёртыванием и снимите с паузы после него. Окна приглушают оповещения и исключают это время из данных об аптайме.

Сколько усилий требует настройка heartbeat?

Один curl в конце задачи. Монитор ждёт пинг к заданному вами дедлайну; если его нет или задача вызвала адрес fail, открывается инцидент. Heartbeat начинается со Starter (20), а на Agency их 500.

Это замена Prometheus или Datadog?

Нет. Tenium отвечает на внешний вопрос: доступен ли и правильно ли работает ваш сервис из интернета. Внутренние метрики, трейсы и логи остаются в инструментах, созданных для этого.

Попробуйте на одном «шумном» сервисе

Выберите монитор, который будит вас зря, и поставьте его за подтверждение из нескольких регионов. Тариф Free, без карты.