Jak wysyłać alerty HostTracker na Slacka
Alerty Slack z HostTracker to zwykły kontakt typu webhook HTTP: wklej do niego URL Incoming Webhook Slacka, a HostTracker będzie publikować wiadomość na tym kanale za każdym razem, gdy któryś z Twoich monitorów zmieni stan. Po stronie backendu nie ma osobnego typu powiadomienia "Slack". Funkcja Incoming Webhooks Slacka przyjmuje dokładnie taki rodzaj żądania, jaki wysyła kontakt HTTP. Cała integracja to jeden URL, bez aplikacji do zainstalowania po stronie HostTracker i bez bota do autoryzacji w Slacku.
Jak działa integracja
Gdy dodajesz nowy kontakt w HostTracker i wybierasz Slack z listy typów kontaktu, w tle nie powstaje inny rodzaj kontaktu. Jest on zapisywany jako kontakt HTTP, a HostTracker rozpoznaje go jako miejsce docelowe Slacka, bo wklejony adres zaczyna się od https://hooks.slack.com/. Właśnie ten jeden szczegół przełącza format wiadomości z ogólnego ładunku JSON na wiadomość zgodną ze Slackiem, dlatego konfiguracja wymaga tylko URL-a i niczego więcej.
Konfiguracja alertów Slack krok po kroku
- W Slacku otwórz api.slack.com/apps i wybierz Create New App, potem From scratch. Nadaj jej nazwę, na przykład "HostTracker alerts", i wybierz obszar roboczy, do którego mają trafiać alerty.
- W ustawieniach aplikacji otwórz Incoming Webhooks i włącz tę opcję.
- Kliknij Add New Webhook to Workspace, wybierz kanał, który ma otrzymywać alerty HostTracker, i kliknij Allow.
- Slack wygeneruje URL webhooka zaczynający się od
https://hooks.slack.com/services/. Skopiuj go. - W HostTracker dodaj nowy kontakt i wybierz Slack z listy typów kontaktu, a następnie wklej URL webhooka w pole adresu.
- Zapisz kontakt, a następnie użyj Send test, żeby potwierdzić, że testowa wiadomość dociera na kanał, zanim zaczniesz na niego polegać.
Jeśli masz już webhook utworzony przez starszy, obecnie wycofany przepływ katalogu aplikacji Slacka, jego URL wciąż działa bez zmian; wklej go tak samo. Zupełnie nowy webhook musi przejść przez opisany wyżej przepływ oparty na aplikacji, bo Slack wycofał klasyczny sposób dla nowych konfiguracji.
Jak wygląda alert na kanale
Każdy alert trafia jako krótka wiadomość tekstowa, nie sformatowana karta. Alert Down podaje nazwę strony, czas i opis awarii, na przykład przekroczenie czasu połączenia albo kod błędu HTTP. Alert Up podaje nazwę strony, czas powrotu do działania i to, jak długo strona była niedostępna. Przypomnienie o wciąż trwającej awarii powtarza czas trwania przestoju i błąd, więc widać, czy cokolwiek się zmieniło, bez otwierania HostTracker.
Jeśli kilka Twoich monitorów zawiedzie w krótkim oknie czasowym, HostTracker może połączyć je w jedną wiadomość zamiast publikować je jedna po drugiej. To opcja "Group events" na kontakcie. Bardziej zaawansowani użytkownicy mogą też zastąpić domyślną wiadomość własnym szablonem, o ile pozostaje on prawidłowym JSON-em webhooka Slacka z polem text.
Wybór, które zdarzenia trafiają na kanał
Kontakt Slack, tak jak każdy inny kontakt, subskrybuje konkretne monitory i konkretne typy zdarzeń, a nie całe Twoje konto. Do wyboru są trzy zdarzenia: Down (strona właśnie przestała działać), Up (strona wróciła do działania) i Repeat (przypomnienie, że wciąż nie działa). Częstym wzorcem jest kierowanie Down i Up na wspólny kanał zespołu, żeby wszyscy widzieli początek i koniec incydentu, oraz pozostawienie Repeat wyłączonego, jeśli przypomnienia byłyby szumem, albo włączenie go dla kanału dedykowanego incydentowi wymagającemu stałej uwagi, dopóki nie zostanie naprawiony.
Rozwiązywanie problemów
Kilka rzeczy psuje integrację ze Slackiem bez żadnego widocznego sygnału, bo Slack nie przekazuje HostTracker błędu, który mógłby pokazać wewnątrz aplikacji:
- Cofnięty albo usunięty webhook. Jeśli aplikacja Slacka została usunięta albo webhook wygenerowano ponownie, stary URL przestaje przyjmować publikacje. HostTracker wciąż do niego wysyła, a dostarczenie zawodzi, bez żadnej informacji wewnątrz HostTracker, że kanał ucichł. Uruchom Send test ponownie, gdy tylko ktoś dotknie ustawień aplikacji Slacka, albo okresowo w ramach nawyku.
- Zły kanał. Incoming Webhook jest przypisany do kanału wybranego w momencie jego tworzenia i nie da się go później przekierować. Jeśli alerty trafiają w złe miejsce, utwórz w Slacku nowy webhook dla właściwego kanału i wklej nowy URL do kontaktu.
- Zarchiwizowany kanał. Slack przestaje przyjmować publikacje webhooka, gdy kanał docelowy zostanie zarchiwizowany. Cofnij archiwizację albo utwórz nowy webhook wskazujący na inny, aktywny kanał i zaktualizuj kontakt.
- Brak uprawnień do dodawania aplikacji. Niektóre obszary robocze Slacka ograniczają, kto może instalować nowe aplikacje albo zatwierdzać dostęp webhooka. Jeśli krok 1 albo krok 3 powyżej jest wyszarzony albo zablokowany, poproś administratora obszaru roboczego, żeby albo utworzył webhook za Ciebie, albo nadał Ci uprawnienia do zarządzania aplikacjami.
Żadna z tych sytuacji nie pojawia się jako błąd wewnątrz samego HostTracker. Kontakt wciąż wygląda na zapisany i aktywny, bo HostTracker nie ma sposobu, żeby wiedzieć, że Slack odrzucił dostarczenie po swojej stronie. Send test po każdej zmianie po stronie Slacka to jedyny pewny sposób, żeby potwierdzić, że kanał wciąż otrzymuje alerty.
Powiązane materiały
Slack sprawdza się najlepiej jako jeden kanał w szerszej konfiguracji powiadomień, a nie jedyny. Pełną listę kanałów i sposób budowy prostego łańcucha eskalacji znajdziesz w tekście jak otrzymywać alerty z HostTracker. To, co HostTracker sprawdza, zanim uzna, że Twoja strona nie działa, opisują funkcje HostTracker oraz rozproszony monitoring dostępności.
- Wszystkie przewodniki po monitoringu - centrum dla każdego typu kontroli, który może publikować na Slacku.
- Czy strona nie działa dla wszystkich, czy tylko dla mnie - co zrobić najpierw, gdy na kanale pojawi się wiadomość Down.
- Funkcje HostTracker
- Rozproszony monitoring dostępności
- Jak otrzymywać alerty z HostTracker