Przejdź do treści głównej

Poradniki / Przewodniki po monitoringu: każdy typ kontroli krok po kroku

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

  1. 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.
  2. W ustawieniach aplikacji otwórz Incoming Webhooks i włącz tę opcję.
  3. Kliknij Add New Webhook to Workspace, wybierz kanał, który ma otrzymywać alerty HostTracker, i kliknij Allow.
  4. Slack wygeneruje URL webhooka zaczynający się od https://hooks.slack.com/services/. Skopiuj go.
  5. W HostTracker dodaj nowy kontakt i wybierz Slack z listy typów kontaktu, a następnie wklej URL webhooka w pole adresu.
  6. 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.

Sprawdź teraz

Uruchom darmowe sprawdzenie na swojej stronie - bez zakładania konta.

Features

Monitoruj to na stałe

Otrzymasz powiadomienie w chwili awarii: HostTracker sprawdza z ponad 300 lokalizacji i powiadamia e-mailem, SMS-em, przez Slack, Telegram i nie tylko.

Funkcje HostTracker

Więcej w tej sekcji: Przewodniki po monitoringu: każdy typ kontroli krok po kroku