Интеграция 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
- Создайте или откройте канал в Echobell и выберите нужный тип уведомления (обычное, срочное или звонок).
- Скопируйте URL вебхука канала; он выглядит так:
https://hook.echobell.one/t/<channel-token>. - (Необязательно) Задайте шаблон с переменными
{{site}},{{status}},{{code}},{{url}}и{{issue}}, чтобы оповещения оставались структурированными.
Добавьте секреты Upptime для Echobell
В репозитории Upptime перейдите в Settings → Secrets and variables → Actions и добавьте:
NOTIFICATION_CUSTOM_WEBHOOK=trueNOTIFICATION_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.