Alerty telefoniczne, gdy Twoje API przestaje działać

Standardowe powiadomienia push o awariach API giną w szumie. Dowiedz się, jak ustawić alerty telefoniczne, które naprawdę Cię obudzą, gdy krytyczne usługi zawiodą.

Aktualizacja

Spis treści

Problemem nie jest to, że Twoje API pada o trzeciej nad ranem. Problemem jest to, że dowiadujesz się o tym o dziewiątej, gdy użytkownicy zalali już skrzynkę wsparcia.

Większość narzędzi monitorujących świetnie wykrywa awarie. Fatalnie natomiast pilnuje, żeby ktoś rzeczywiście zobaczył alert we właściwym momencie. Standardowe powiadomienie push leży na zablokowanym ekranie, dopóki ktoś przypadkiem nie sięgnie po telefon. Wiadomość na Slacku przepada w kanale, w który nocą nikt nie zagląda. E-mail zostaje nieprzeczytany do poniedziałkowego poranka.

Alerty telefoniczne zmieniają to równanie. Gdy test kondycji API zawiedzie, Twój telefon naprawdę dzwoni — tak samo jak przy każdej innej pilnej sprawie. Odbierasz, słyszysz, co jest nie tak, i możesz od razu zabrać się za naprawę, zamiast wiele godzin później.

Dlaczego powiadomienia push zawodzą przy krytycznych usługach

Przeciętny smartfon odbiera od 50 do 100 powiadomień push dziennie. Twój alert o awarii API konkuruje z aktualizacjami aplikacji, powiadomieniami z mediów społecznościowych, alertami informacyjnymi i wszystkim innym na urządzeniu. Gdy wszystko jest pilne, nic nie sprawia wrażenia pilnego.

Powstaje przez to niebezpieczny schemat:

  1. Narzędzie monitorujące wykrywa, że API zwraca błędy 500
  2. Wysyła powiadomienie push na Twój telefon
  3. Telefon leży na biurku ekranem do dołu, z włączonym trybem Skupienia
  4. Alert czeka tam po cichu, aż ktoś go zauważy — wiele godzin później

W przypadku niekrytycznego mikroserwisu takie opóźnienie jest irytujące. W przypadku API płatności, usługi uwierzytelniania albo backendu głównego produktu kosztuje realne pieniądze i zaufanie.

Jak działają alerty telefoniczne w Echobell

Echobell dostarcza powiadomienia na trzech poziomach pilności:

  • Standardowe (Active): zwykłe powiadomienie push
  • Czasowo krytyczne: przebijają się przez tryb Skupienia w iOS, ale nie dzwonią
  • Połączenie: telefon dzwoni jak przy zwykłej rozmowie

Przy awariach API, które dotykają użytkowników, właściwy jest poziom połączenia. Odzwierciedla to, jak reagujesz na każdy inny pilny telefon — odbierasz, bo aparat dzwoni.

Konfiguracja jest prosta:

  1. Utwórz kanał w Echobell
  2. Ustaw typ powiadomień na połączenie
  3. Podłącz swoje narzędzie monitorujące przez webhook
  4. Gdy test kondycji zawiedzie, Echobell zadzwoni na Twój telefon

Konfiguracja alertów telefonicznych w narzędziu monitorującym

Większość platform monitorujących potrafi wysłać webhook, gdy test się nie powiedzie. Oto jak to podpiąć.

Wykorzystanie istniejącego testu kondycji

Jeśli masz już endpoint zdrowia (na przykład /health albo /status), ustaw monitor tak, aby sprawdzał go w regularnych odstępach. Gdy odpowiedź nie ma kodu 200, uruchamiany jest webhook.

Echobell przyjmuje payloady webhooka z tytułem i treścią:

curl -X POST https://hook.echobell.one/t/<channel-token> \
  -H "Content-Type: application/json" \
  -d '{
    "title": "API DOWN: payment-service",
    "body": "Health check failed - 500 error at 03:42 UTC",
    "notificationType": "calling",
    "externalLink": "https://your-dashboard.example.com/incidents/123"
  }'

To pole notificationType: calling sprawia, że telefon zaczyna dzwonić.

Co umieścić w alercie

Treść alertu ma dać się ogarnąć wzrokiem. Odbierając telefon o trzeciej nad ranem, musisz zrozumieć problem natychmiast:

  • Nazwa usługi — które API albo mikroserwis zawiodły
  • Rodzaj błędu — timeout, 5xx, odrzucone połączenie
  • Znacznik czasu — kiedy zaczęła się awaria
  • Odnośnik — gdzie od razu szukać przyczyny

To nie miejsce na rozwlekłe komunikaty. Chodzi o natychmiastowy kontekst, żebyś mógł zdecydować, czy budzić się na dobre, czy tylko potwierdzić alert i spać dalej.

Wybór właściwego poziomu pilności

Nie każda awaria API wymaga telefonu. Alerty w formie połączenia stosuj przy:

  • Usługach płatności i rozliczeń
  • Endpointach uwierzytelniania i logowania
  • Głównych API produktu, z których użytkownicy korzystają bezpośrednio
  • Usługach, od których zależą inne krytyczne systemy

Powiadomień czasowo krytycznych używaj przy:

  • Usługach drugorzędnych, ważnych, ale niedecydujących o przychodzie
  • Środowiskach deweloperskich i staging
  • Sygnałach ostrzegawczych (podwyższony odsetek błędów, który nie jest jeszcze pełną awarią)

Standardowych powiadomień używaj przy:

  • Niekrytycznych zadaniach w tle
  • Informacyjnych metrykach, które nie wymagają działania

Takie stopniowanie utrzymuje Cię w gotowości, nie wywołując zmęczenia alertami.

Skalowanie na wiele usług

Jeśli utrzymujesz więcej niż jedno API, utwórz osobne kanały dla każdej usługi lub grupy usług:

  • production-payment-api — poziom połączenia
  • production-user-api — poziom połączenia
  • production-analytics-api — czasowo krytyczny
  • staging-all — czasowo krytyczny

Dzięki temu dostroisz pilność do konkretnej usługi. API płatności zasługuje na telefon; potok analityczny raczej nie.

Prawdziwa korzyść

Wartość alertów telefonicznych nie tkwi w samym dzwonieniu, tylko w zmianie zachowań, którą wywołują:

  • Naprawiasz problemy szybciej, bo dowiadujesz się o nich od razu
  • Śpisz spokojniej, wiedząc, że jeśli coś się zepsuje, naprawdę zostaniesz obudzony
  • Twoi użytkownicy krócej odczuwają awarię, bo reagujesz w minutach zamiast w godzinach

Przy krytycznych usługach właśnie o tę różnicę chodzi.


Powiązane materiały