Переходите з 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 над міткою часу й тілом. Перевіряйте підпис і відхиляйте все старше за п’ять хвилин — і ви зможете спрямовувати події в чат-ops, чергу тікетів чи автоматизацію ранбуків, не довіряючи мережевому шляху. Невдалі доставки повторюються п’ять разів приблизно за півгодини. Формати даних — у документації з 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, без картки.