Integracja z Upptime – alerty z monitoringu dostępności

Zintegruj Upptime z Echobell, aby otrzymywać powiadomienia push lub połączenia w chwili, gdy Twoja witryna przestaje działać. Konfiguracja oparta na GitHub Actions.


Zdarzenia o awariach i powrotach do działania z Upptime możesz przekazywać wprost do Echobell, dzięki czemu Twój zespół otrzyma czasowo krytyczne powiadomienia push lub połączenia telefoniczne bez budowania osobnego procesu. Ten przewodnik skupia się na stronie Echobell i wykorzystuje natywne zmienne powiadomień Upptime. Opcje specyficzne dla Upptime znajdziesz w oficjalnej dokumentacji powiadomień.

Dlaczego warto używać Echobell do alertów Upptime

  • Eskalacja przez połączenie telefoniczne przy krytycznych awariach, przy zachowaniu rutynowych sprawdzeń jako powiadomień standardowych lub czasowo krytycznych
  • Szablony i zmienne, dzięki którym każdy alert pokazuje objętą awarią witrynę, status, kod odpowiedzi i odnośnik do zgłoszenia w GitHub
  • Zero dodatkowej infrastruktury — wystarczy bezpieczny adres URL webhooka dla każdego kanału Echobell

Wymagania wstępne

  • Istniejące repozytorium Upptime z włączonym GitHub Actions
  • Uprawnienia do dodawania sekretów repozytorium GitHub
  • Kanał Echobell z adresem URL webhooka (w aplikacji otwórz kanał → skopiuj jego adres URL webhooka)

Przygotuj kanał Echobell

  1. Utwórz lub otwórz kanał w Echobell i wybierz preferowany styl powiadomienia (standardowe, czasowo krytyczne lub połączenie).
  2. Skopiuj adres URL webhooka kanału; wygląda on tak: https://hook.echobell.one/t/<channel-token>.
  3. (Opcjonalnie) Ustaw szablon korzystający ze zmiennych takich jak {{site}}, {{status}}, {{code}}, {{url}} i {{issue}}, aby Twoje alerty miały spójną strukturę.

Dodaj sekrety Upptime dla Echobell

W swoim repozytorium Upptime przejdź do Settings → Secrets and variables → Actions i dodaj:

  • 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
  • (Opcjonalnie) NOTIFICATIONS_DOWN_MESSAGE=$EMOJI $SITE_NAME is $STATUS ($RESPONSE_CODE) – $ISSUE_URL
  • (Opcjonalnie) NOTIFICATIONS_UP_MESSAGE=$EMOJI $SITE_NAME is back up – $SITE_URL

Uwagi:

  • Parametry zapytania przenoszą uporządkowane dane do Echobell. Upptime dokleja zmienne, a Echobell zapisuje je jako zmienne szablonu (site, status, url, issue, code, emoji).
  • Zadbaj o zakodowanie adresu URL (jeśli zmieniasz tekst, zamień spacje na %20), aby nie uszkodzić żądania.
  • Pozostali dostawcy powiadomień i strategie nadal są zarządzani po stronie Upptime — dodaj tylko to, czego potrzebujesz dla Echobell, a resztę zostaw w interfejsie sekretów GitHub.

Przypisz zmienne w Echobell

Użyj zwięzłego szablonu, aby alerty pozostały czytelne:

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

Dla witryn o wysokim priorytecie możesz zmienić styl powiadomienia kanału na „Czasowo krytyczne” lub „Połączenie”, zostawiając pozostałe jako standardowe powiadomienia push.

Przetestuj integrację

  • Tymczasowo skieruj monitorowany adres URL na nieistniejący punkt końcowy albo zatrzymaj usługę, aby wywołać awarię.
  • Sprawdź, czy alert dociera do Echobell z wypełnionymi polami szablonu.
  • Przywróć usługę i zweryfikuj wiadomość o powrocie do działania.

Rozwiązywanie problemów

  • Upewnij się, że NOTIFICATION_CUSTOM_WEBHOOK i NOTIFICATION_CUSTOM_WEBHOOK_URL są zapisane dokładnie tak jak na liście sekretów.
  • Jeśli zmienisz token kanału Echobell, zaktualizuj sekret.
  • W przypadku problemów po stronie Upptime lub dodatkowych dostawców zajrzyj do oficjalnej dokumentacji i logów GitHub Actions.