Интеграция Upptime — оповещения мониторинга доступности

Подключите Upptime к Echobell, чтобы получать push-уведомления или звонки в тот момент, когда сайт становится недоступен. Руководство по настройке на базе GitHub Actions.


Вы можете передавать события сбоев и восстановления из Upptime напрямую в Echobell, чтобы команда получала срочные push-оповещения или звонки без отдельного конвейера. Это руководство посвящено настройке на стороне Echobell и использует встроенные переменные уведомлений Upptime. Специфичные для Upptime параметры описаны в официальной документации по уведомлениям.

Зачем использовать Echobell для оповещений Upptime

  • Эскалация до звонка при критических сбоях, тогда как рутинные проверки остаются обычными или срочными push-уведомлениями
  • Шаблоны и переменные: в каждом оповещении видны затронутый сайт, статус, код ответа и ссылка на issue в GitHub
  • Никакой дополнительной инфраструктуры — только защищённый URL вебхука для каждого канала Echobell

Требования

  • Существующий репозиторий Upptime с включёнными GitHub Actions
  • Права на добавление секретов в репозиторий GitHub
  • Канал Echobell с URL вебхука (в приложении откройте канал → скопируйте его URL вебхука)

Подготовьте канал Echobell

  1. Создайте или откройте канал в Echobell и выберите нужный тип уведомления (обычное, срочное или звонок).
  2. Скопируйте URL вебхука канала; он выглядит так: https://hook.echobell.one/t/<channel-token>.
  3. (Необязательно) Задайте шаблон с переменными {{site}}, {{status}}, {{code}}, {{url}} и {{issue}}, чтобы оповещения оставались структурированными.

Добавьте секреты Upptime для Echobell

В репозитории Upptime перейдите в Settings → Secrets and variables → Actions и добавьте:

  • NOTIFICATION_CUSTOM_WEBHOOK=true
  • NOTIFICATION_CUSTOM_WEBHOOK_URL=https://hook.echobell.one/t/<channel-token>?site=$SITE_NAME&status=$STATUS&url=$SITE_URL&issue=$ISSUE_URL&code=$RESPONSE_CODE&emoji=$EMOJI
  • (Необязательно) NOTIFICATIONS_DOWN_MESSAGE=$EMOJI $SITE_NAME is $STATUS ($RESPONSE_CODE) – $ISSUE_URL
  • (Необязательно) NOTIFICATIONS_UP_MESSAGE=$EMOJI $SITE_NAME is back up – $SITE_URL

Примечания:

  • Параметры запроса передают структурированные данные в Echobell. Upptime подставляет значения переменных, а Echobell сохраняет их как переменные шаблона (site, status, url, issue, code, emoji).
  • Следите за кодированием URL (заменяйте пробелы на %20, если меняете текст), иначе запрос сломается.
  • Остальные провайдеры уведомлений и стратегии по-прежнему настраиваются в Upptime — добавьте только то, что нужно для Echobell, а остальное оставьте в интерфейсе секретов GitHub.

Сопоставьте переменные в Echobell

Используйте лаконичный шаблон, чтобы оповещения оставались читаемыми:

Title: {{emoji}} Upptime: {{site}} is {{status}}
Body: Response {{code}} · {{url}}
External link: {{issue}}

Для важных сайтов можно переключить тип уведомлений канала на «Срочное» или «Звонок», а для остальных оставить обычные push-уведомления.

Проверьте интеграцию

  • Временно направьте отслеживаемый URL на несуществующий эндпоинт или остановите сервис, чтобы вызвать сбой.
  • Убедитесь, что оповещение приходит в Echobell и поля шаблона заполнены.
  • Восстановите сервис и проверьте сообщение о восстановлении.

Устранение неполадок

  • Убедитесь, что NOTIFICATION_CUSTOM_WEBHOOK и NOTIFICATION_CUSTOM_WEBHOOK_URL написаны точно так же, как в списке секретов.
  • Если вы измените токен канала Echobell, обновите секрет.
  • При ошибках на стороне Upptime или при подключении других провайдеров смотрите официальную документацию и логи GitHub Actions.