Powiadomienia i alerty

Powiadomienia Discord w Uptime Kuma — webhook + bot

Marzec 2026 | Czas czytania: ~14 min

Dlaczego Discord to świetny kanał powiadomień monitoringu

Discord dawno przestał być platformą wyłącznie dla graczy. W 2026 roku to pełnoprawne narzędzie komunikacyjne, z którego korzystają zespoły DevOps, społeczności open-source, homelabowcy i firmy technologiczne na całym świecie. Ponad 200 milionów aktywnych użytkowników miesięcznie, natywne aplikacje na każdą platformę (desktop, mobile, przeglądarka) i rozbudowane API sprawiają, że Discord jest naturalnym wyborem jako kanał powiadomień monitoringu.

Dlaczego warto kierować alerty z Uptime Kuma właśnie na Discorda? Powodów jest kilka, a każdy z nich jest istotny z perspektywy operacyjnej:

  • Natychmiastowe powiadomienia push — alerty pojawiają się w czasie rzeczywistym na telefonie, komputerze i w przeglądarce, bez opóźnień typowych dla e-maila
  • Organizacja kanałów — możesz stworzyć dedykowane kanały (#monitoring-prod, #monitoring-staging, #alerty-krytyczne) i precyzyjnie kierować powiadomienia tam, gdzie powinny trafić
  • Wzmianki i role — oznaczanie @devops, @oncall lub @everyone pozwala eskalować krytyczne alerty do właściwych osób
  • Rich embeds — wiadomości Discord mogą zawierać kolorowe embedy z polami, znacznikami czasu i linkami — znacznie czytelniejsze niż zwykły tekst
  • Darmowość — zarówno Discord, jak i jego API webhooków są bezpłatne, bez limitów wiadomości (poza rate limitami API)
  • Już go masz — jeśli Twój zespół lub społeczność używa Discorda do komunikacji, dodanie kanału monitoringu to kwestia minut, nie godzin

Uptime Kuma obsługuje Discord jako jeden z 91 natywnych kanałów powiadomień — integracja jest wbudowana, nie wymaga żadnych dodatkowych pluginów ani skryptów. Konfiguracja sprowadza się do wklejenia jednego URL-a webhooka. W tym artykule pokażemy dokładnie jak to zrobić, a także jak zaawansować tę integrację o custom embedy, szablony LiquidJS, wzmianki ról i strategię wielokanałową.

Informacja

Discord to jeden z najpopularniejszych kanałów powiadomień w Uptime Kuma — obok Telegram, Slack i e-maila. Natywna integracja jest dostępna od pierwszych wersji aplikacji i jest aktywnie rozwijana przez społeczność.

Czym jest Discord Webhook i jak działa

Zanim przejdziemy do konfiguracji, warto zrozumieć mechanizm, na którym opiera się integracja Uptime Kuma z Discordem. Webhook to prosty mechanizm HTTP, który pozwala zewnętrznym aplikacjom wysyłać wiadomości na kanał Discord bez potrzeby tworzenia bota, autoryzacji OAuth2 czy zarządzania tokenami.

Jak to działa w praktyce:

1

Discord generuje unikalny URL

Tworzysz webhook na wybranym kanale Discord. Otrzymujesz URL w formacie: https://discord.com/api/webhooks/XXXXXXXXX/YYYYYYYYYYYY. Ten URL jest jednocześnie adresem docelowym i kluczem autoryzacji — każdy, kto go posiada, może wysyłać wiadomości na kanał.

2

Uptime Kuma wysyła żądanie POST

Gdy monitor wykryje zmianę stanu (UP → DOWN lub DOWN → UP), Uptime Kuma wysyła żądanie HTTP POST na URL webhooka z payloadem JSON zawierającym informacje o monitorze, statusie, czasie odpowiedzi i komunikacie błędu.

3

Discord wyświetla wiadomość

Discord otrzymuje payload, przetwarza go i wyświetla wiadomość na kanale jako embed — kolorowy blok z informacjami o zdarzeniu monitoringu. Wiadomość pojawia się z nazwą i awatarem webhooka (konfigurowalnym).

Kluczowe cechy webhooka Discord:

  • Jednokierunkowy — webhook tylko odbiera wiadomości, nie może odczytywać kanału ani reagować na komendy
  • Bezstanowy — każde żądanie jest niezależne, nie ma sesji ani połączenia stałego
  • Rate limit — Discord pozwala na 30 żądań na 60 sekund per webhook (5 żądań per 2 sekundy w burst). Dla typowego monitoringu to więcej niż wystarczające
  • Bez dodatkowych uprawnień — webhook nie potrzebuje uprawnień bota, nie widzi innych wiadomości, nie może moderować kanału
Wskazówka

URL webhooka traktuj jak hasło — nie udostępniaj go publicznie (np. w publicznych repozytoriach GitHub). Każdy, kto posiada ten URL, może wysyłać wiadomości na Twój kanał Discord. Jeśli URL wycieknie, usuń webhook i utwórz nowy.

Tworzenie webhooka Discord — krok po kroku

Aby skonfigurować powiadomienia Discord w Uptime Kuma, musisz najpierw utworzyć webhook na swoim serwerze Discord. Poniżej dokładna instrukcja — zarówno na desktopie, jak i w aplikacji mobilnej.

Na komputerze (Discord Desktop / przeglądarka)

1

Otwórz ustawienia kanału

Przejdź do serwera Discord, na którym chcesz otrzymywać powiadomienia. Kliknij prawym przyciskiem myszy na kanał tekstowy (np. #monitoring-alerty) i wybierz Edytuj kanał (ikona zębatki). Alternatywnie kliknij ikonę zębatki obok nazwy kanału.

2

Przejdź do zakładki Integracje

W menu bocznym ustawień kanału kliknij Integracje (Integrations). Zobaczysz sekcję „Webhooks" — kliknij przycisk Utwórz webhook (Create Webhook).

3

Skonfiguruj webhook

Discord utworzy webhook z domyślną nazwą „Spidey Bot". Zmień ją na coś opisowego — np. Uptime Kuma lub Monitor Alertów. Opcjonalnie możesz zmienić awatar webhooka (np. na logo Uptime Kuma — niedźwiadka). Upewnij się, że webhook jest przypisany do właściwego kanału.

4

Skopiuj URL webhooka

Kliknij przycisk Kopiuj URL webhooka (Copy Webhook URL). Otrzymasz URL w formacie:
https://discord.com/api/webhooks/1234567890/AbCdEfGhIjKlMnOpQrStUvWxYz...
Zapisz ten URL — będzie potrzebny w następnym kroku przy konfiguracji Uptime Kuma.

5

Zapisz zmiany

Kliknij Zapisz zmiany (Save Changes) na dole strony. Webhook jest gotowy do użycia.

Na telefonie (Discord Mobile)

Na aplikacji mobilnej proces jest zbliżony: przytrzymaj palec na kanale → Edytuj kanałIntegracjeWebhooksNowy webhook. Skonfiguruj nazwę, skopiuj URL i zapisz. Pamiętaj, że musisz mieć uprawnienie Zarządzaj webhookami (Manage Webhooks) na danym kanale.

Wymagane uprawnienia

Aby tworzyć webhooki, musisz być właścicielem serwera Discord lub mieć rolę z uprawnieniem Manage Webhooks. Jeśli nie masz tego uprawnienia, poproś administratora serwera o utworzenie webhooka lub przyznanie Ci odpowiedniej roli.

Konfiguracja powiadomień Discord w Uptime Kuma

Masz URL webhooka — czas skonfigurować Uptime Kuma. Cały proces zajmuje dosłownie 2 minuty.

1

Otwórz panel Uptime Kuma

Zaloguj się do swojej instancji Uptime Kuma. Jeśli korzystasz z hostingu zarządzanego na SmartXHosting.pl, otwórz panel pod swoją domeną (np. twoja-firma.uptimekuma.eu).

2

Przejdź do ustawień powiadomień

Kliknij Ustawienia (Settings) w menu bocznym, a następnie wybierz zakładkę Powiadomienia (Notifications). Kliknij przycisk Skonfiguruj powiadomienie (Setup Notification).

3

Wybierz typ powiadomienia: Discord

Z listy rozwijanej „Typ powiadomienia" (Notification Type) wybierz Discord. Formularz zmieni się, wyświetlając pola specyficzne dla Discorda.

4

Wypełnij konfigurację

Wypełnij następujące pola:

  • Przyjazna nazwa (Friendly Name) — np. „Discord — alerty produkcja" lub „Discord #monitoring"
  • Discord Webhook URL — wklej skopiowany URL webhooka z poprzedniego kroku
  • Nazwa użytkownika bota (Bot Display Name) — opcjonalne, domyślnie „Uptime Kuma". Możesz zmienić na cokolwiek, np. „Monitor Bot"
  • Prefix Message — opcjonalny tekst przed embedem, np. wzmianki <@&ROLE_ID> (więcej o tym w dalszej części artykułu)
5

Przetestuj powiadomienie

Kliknij przycisk Test. Na kanale Discord powinien pojawić się testowy embed z komunikatem od Uptime Kuma. Jeśli widzisz wiadomość — konfiguracja jest poprawna.

6

Zapisz i przypisz do monitorów

Kliknij Zapisz (Save). Teraz możesz przypisać to powiadomienie do wybranych monitorów. Przy edycji monitora przejdź do sekcji Powiadomienia i zaznacz checkbox przy „Discord — alerty produkcja". Możesz też zaznaczyć opcję Domyślnie włączone (Default enabled), aby nowe monitory automatycznie korzystały z tego powiadomienia.

Od tego momentu każda zmiana stanu monitora (UP → DOWN lub DOWN → UP) spowoduje wysłanie wiadomości na kanał Discord. Domyślny embed zawiera:

  • Kolor paska bocznego — czerwony dla DOWN, zielony dla UP
  • Tytuł — nazwa monitora i nowy status
  • Opis — komunikat ze szczegółami (URL, czas odpowiedzi, kod błędu)
  • Znacznik czasu — dokładna data i godzina zdarzenia
Uptime Kuma gotowa w 5 minut

Nie chcesz konfigurować serwera? Na SmartXHosting.pl otrzymasz gotową instancję Uptime Kuma z własną domeną, automatycznymi aktualizacjami i codziennym backupem. Skonfiguruj Discord webhook i monitoruj swoje usługi od razu.

Zamów hosting Uptime Kuma

Personalizacja wiadomości Discord — embedy, kolory, pola

Domyślne powiadomienia Discord z Uptime Kuma są czytelne i funkcjonalne, ale możesz je dostosować, aby lepiej odpowiadały potrzebom Twojego zespołu. Uptime Kuma wysyła wiadomości jako Discord embedy — bogato sformatowane bloki, które obsługują kolory, pola, linki i znaczniki czasu.

Domyślny format embeda

Standardowa wiadomość Discord z Uptime Kuma zawiera następujące elementy:

Element embedaWartośćOpis
KolorCzerwony (#FF0000) / Zielony (#00FF00)Wskazuje status — DOWN (czerwony) lub UP (zielony)
TytułNazwa monitora + statusNp. „[DOWN] API Backend — api.example.com"
OpisKomunikat z detalamiURL monitora, czas odpowiedzi, kod statusu lub komunikat błędu
Znacznik czasuISO 8601Dokładna data i godzina zdarzenia w lokalnej strefie czasowej
FooterUptime KumaPodpis źródła powiadomienia

Pole Prefix Message

Pole Prefix Message w konfiguracji powiadomienia Discord pozwala dodać dowolny tekst przed embedem. Jest to przydatne do:

  • Wzmiankowania ról — np. <@&123456789> oznacza rolę @devops (więcej w sekcji o wzmianach)
  • Dodania kontekstu — np. „Uwaga: alert z produkcji" lub „Środowisko: staging"
  • Emoji statusu — np. wstawienie odpowiednich ikon

Zmiana nazwy i awatara bota

W konfiguracji powiadomienia Discord w Uptime Kuma znajdziesz pole Bot Display Name. Możesz je ustawić na dowolną wartość — np. „Monitoring PROD", „Alert Bot" czy nazwę swojej firmy. Nazwa pojawi się jako autor wiadomości na Discordzie. Awatar webhooka konfigurujesz bezpośrednio w ustawieniach webhooka na Discordzie (ikona obok nazwy webhooka w ustawieniach kanału).

Konfiguracja per monitor

Pamiętaj, że w Uptime Kuma możesz mieć wiele konfiguracji powiadomień Discord — np. jedną dla alertów produkcyjnych (z wzmianką @oncall), drugą dla środowiska staging (bez wzmianek), trzecią dla monitorów SSL (na kanał #certyfikaty). Każdy monitor może mieć przypisane dowolne kombinacje kanałów powiadomień.

Integracja przez bota Discord — kiedy i dlaczego

Webhooki są najprostszą i zalecaną metodą integracji Discord z Uptime Kuma, ale warto wiedzieć, kiedy rozważyć alternatywę — dedykowanego bota Discord.

Webhook vs Bot — porównanie

CechaWebhookBot Discord
Konfiguracja1 minuta — skopiuj URL30+ minut — rejestracja aplikacji, token, kod
Kierunek komunikacjiJednokierunkowy (do Discorda)Dwukierunkowy (do i z Discorda)
KomendyBrakTak — np. /status, /monitors, /pause
Reakcje na wiadomościBrakTak — np. potwierdzenie przejęcia incydentu
Edycja wiadomościOgraniczonaPełna — aktualizacja statusu w miejscu
Rate limity30 req/60s per webhookZależne od endpointu, bardziej elastyczne
Zarządzanie wieloma kanałamiOsobny webhook per kanałJeden bot, wiele kanałów
BezpieczeństwoURL = klucz (prosty, ale ryzykowny przy wycieku)Token + uprawnienia (bardziej granularne)
Wymagana infrastrukturaŻadna dodatkowaHosting bota (Node.js/Python)

Kiedy webhook wystarczy (w 90% przypadków)

Webhook jest idealnym rozwiązaniem, jeśli potrzebujesz:

  • Prostych powiadomień o zmianach stanu monitorów (UP/DOWN)
  • Alertów na 1-5 kanałów Discord
  • Minimalnej konfiguracji bez dodatkowego kodu
  • Rozwiązania, które „po prostu działa" bez utrzymywania dodatkowej infrastruktury

Kiedy rozważyć bota

Bot Discord może być lepszym wyborem, jeśli chcesz:

  • Interaktywne komendy — wpisanie /status na Discordzie zwraca aktualny stan wszystkich monitorów
  • Potwierdzanie incydentów — reakcja emoji na alert oznacza „przejmuję sprawę"
  • Dynamiczne routowanie — bot decyduje, na który kanał wysłać alert na podstawie typu monitora lub severity
  • Edycję wiadomości — gdy monitor wraca do stanu UP, bot aktualizuje oryginalny alert zamiast wysyłać nową wiadomość
Uptime Kuma API dla botów

Uptime Kuma udostępnia API Socket.IO oraz REST API, które mogą zasilać zewnętrznego bota Discord. Społeczność stworzyła gotowe rozwiązania — m.in. uptime-kuma-discord-bot na GitHubie, który łączy się z API Uptime Kuma i obsługuje komendy /status, /monitors i powiadomienia z zaawansowanym formatowaniem. Dla większości użytkowników natywny webhook wbudowany w Uptime Kuma jest jednak wystarczający.

Wiele kanałów dla różnych grup monitorów

W środowiskach produkcyjnych rzadko wystarcza jeden kanał Discord na wszystkie alerty. Uptime Kuma doskonale obsługuje scenariusz, w którym różne monitory wysyłają powiadomienia na różne kanały Discord. Oto jak to zaprojektować.

Przykładowa architektura kanałów

Kanał DiscordWebhookPrzypisane monitoryWzmianki
#alerty-krytyczneWebhook AProdukcja — API, baza danych, strona główna@oncall @everyone
#monitoring-webWebhook BStrony WWW, landing pages, blogi@webteam
#monitoring-infraWebhook CSerwery, DNS, porty TCP, certyfikaty SSL@sysadmin
#monitoring-stagingWebhook DŚrodowisko staging/devBrak (ciche)
#ssl-expiryWebhook EMonitory certyfikatów SSL (dni do wygaśnięcia)@devops

Jak to skonfigurować

1

Utwórz kanały na Discordzie

Na serwerze Discord utwórz dedykowane kanały tekstowe dla każdej grupy alertów. Zalecamy kategorię (np. „Monitoring") dla porządku. Ustaw uprawnienia kanałów — np. #alerty-krytyczne widoczny dla wszystkich, #monitoring-staging tylko dla zespołu dev.

2

Utwórz webhooki per kanał

Dla każdego kanału utwórz osobny webhook (jak opisano wcześniej). Nadaj im opisowe nazwy — np. „Uptime Kuma — PROD", „Uptime Kuma — Staging", „Uptime Kuma — SSL". Zapisz URL-e webhooków.

3

Skonfiguruj powiadomienia w Uptime Kuma

W Uptime Kuma utwórz osobną konfigurację powiadomienia Discord dla każdego webhooka. Przypisz każdej opisową nazwę — „Discord PROD #alerty-krytyczne", „Discord Staging", „Discord SSL". Przetestuj każdy webhook.

4

Przypisz powiadomienia do monitorów

Przy edycji każdego monitora zaznacz odpowiednie checkboxy powiadomień. Monitor API produkcyjnego → „Discord PROD #alerty-krytyczne". Monitor strony staging → „Discord Staging". Monitor certyfikatu SSL → „Discord SSL". Jeden monitor może mieć przypisanych wiele kanałów powiadomień jednocześnie.

Wskazówka

Używaj tagów w Uptime Kuma do grupowania monitorów (np. tagi „produkcja", „staging", „ssl"). Dzięki temu łatwiej zarządzasz przypisaniami powiadomień — edytujesz monitory z danym tagiem zbiorczo, zamiast konfigurować każdy osobno.

Wzmianki @role i @everyone dla alertów krytycznych

Jedną z najpotężniejszych funkcji Discorda w kontekście monitoringu jest możliwość oznaczania ról i użytkowników w wiadomościach. Dzięki temu krytyczne alerty nie giną w szumie — Discord wyśle powiadomienie push do każdej oznaczonej osoby.

Jak działają wzmianki w webhookach

Webhooki Discord mogą używać wzmiankek w polu content (nie w embedzie — to ważne!). W Uptime Kuma wzmianki wpisujesz w pole Prefix Message, które jest wysyłane jako content wiadomości (przed embedem).

Formaty wzmianek Discord:

Typ wzmiankiFormatPrzykładEfekt
Użytkownik<@USER_ID><@123456789012345678>Powiadomienie push do konkretnej osoby
Rola<@&ROLE_ID><@&987654321098765432>Powiadomienie push do wszystkich z daną rolą
@everyone@everyone@everyonePowiadomienie push do wszystkich na kanale
@here@here@herePowiadomienie push do online na kanale

Jak znaleźć ID roli

Aby użyć wzmianki <@&ROLE_ID>, musisz znać numeryczny ID roli Discord. Oto jak go znaleźć:

1

Włącz tryb deweloperski

Discord → Ustawienia użytkownika → Zaawansowane → włącz Tryb deweloperski (Developer Mode). Dzięki temu zobaczysz opcję „Kopiuj ID" w menu kontekstowych.

2

Skopiuj ID roli

Przejdź do Ustawienia serwera → Role. Kliknij prawym przyciskiem na rolę (np. „DevOps") i wybierz Kopiuj ID roli. Otrzymasz numer, np. 987654321098765432.

3

Wstaw wzmiankę w Uptime Kuma

W konfiguracji powiadomienia Discord, w polu Prefix Message, wpisz: <@&987654321098765432>. Teraz każdy alert wyśle powiadomienie push do wszystkich członków roli DevOps.

Strategia wzmiankek per severity

Nie każdy alert wymaga natychmiastowej uwagi. Zalecamy następującą strategię:

  • Alerty krytyczne (produkcja DOWN) → @everyone lub <@&ONCALL_ROLE_ID> — natychmiastowe powiadomienie push
  • Alerty ważne (staging DOWN, wysoki czas odpowiedzi) → <@&DEVOPS_ROLE_ID> — powiadomienie do zespołu
  • Alerty informacyjne (certyfikat SSL wygasa za 30 dni) → bez wzmianek — ciche powiadomienie na kanale

Aby to zrealizować, utwórz osobne konfiguracje powiadomień w Uptime Kuma — jedną z @everyone w Prefix Message (dla monitorów krytycznych), drugą z <@&DEVOPS_ROLE_ID> (dla ważnych), trzecią bez wzmiankek (dla informacyjnych). Przypisz je odpowiednio do monitorów.

Uwaga

Nadmierne używanie @everyone prowadzi do „zmęczenia alertami" (alert fatigue) — zespół zaczyna ignorować powiadomienia. Rezerwuj @everyone wyłącznie dla alertów, które wymagają natychmiastowej reakcji (np. produkcja DOWN). Dla mniej pilnych alertów używaj wzmiankek ról lub kanałów bez wzmianek.

Szablony powiadomień z LiquidJS

Od wersji 2.0 Uptime Kuma obsługuje szablony LiquidJS dla powiadomień — to potężne narzędzie, które pozwala w pełni kontrolować treść wiadomości Discord (i innych kanałów powiadomień). Dzięki szablonom możesz tworzyć dynamiczne wiadomości zawierające dokładnie te informacje, które są potrzebne Twojemu zespołowi.

Dostępne zmienne szablonu

W szablonach LiquidJS masz dostęp do następujących zmiennych:

ZmiennaOpisPrzykładowa wartość
{{msg}}Pełna wiadomość powiadomienia„[API Backend] [DOWN] — Connection refused"
{{monitorJSON.name}}Nazwa monitora„API Backend"
{{monitorJSON.url}}URL monitora„https://api.example.com/health"
{{monitorJSON.hostname}}Hostname„api.example.com"
{{monitorJSON.type}}Typ monitora„http"
{{heartbeatJSON.status}}Status (0=DOWN, 1=UP, 2=PENDING)0
{{heartbeatJSON.msg}}Komunikat heartbeatu„Connection refused"
{{heartbeatJSON.ping}}Czas odpowiedzi (ms)245
{{heartbeatJSON.time}}Znacznik czasu„2026-03-24 14:30:00"

Przykładowe szablony

Szablony LiquidJS wpisujesz w pole Prefix Message w konfiguracji powiadomienia Discord. Oto kilka przykładów:

Szablon 1: Prosty alert z kontekstem

{% if heartbeatJSON.status == 0 %}AWARIA: {{ monitorJSON.name }} jest niedostępny!{% else %}PRZYWRÓCONO: {{ monitorJSON.name }} działa ponownie.{% endif %}
Czas: {{ heartbeatJSON.time }}
Typ: {{ monitorJSON.type }}
URL: {{ monitorJSON.url }}

Szablon 2: Alert z wzmianką roli warunkową

{% if heartbeatJSON.status == 0 %}<@&ONCALL_ROLE_ID> KRYTYCZNE: {{ monitorJSON.name }} DOWN{% else %}{{ monitorJSON.name }} powrócił do stanu UP ({{ heartbeatJSON.ping }}ms){% endif %}

Szablon 3: Szczegółowy raport

Monitor: {{ monitorJSON.name }}
Status: {% if heartbeatJSON.status == 0 %}DOWN{% elsif heartbeatJSON.status == 1 %}UP{% else %}PENDING{% endif %}
{% if heartbeatJSON.ping %}Ping: {{ heartbeatJSON.ping }}ms{% endif %}
{% if heartbeatJSON.msg %}Komunikat: {{ heartbeatJSON.msg }}{% endif %}
Czas: {{ heartbeatJSON.time }}
Wskazówka

Szablony LiquidJS działają dla pola Prefix Message (content wiadomości). Sam embed Discord (kolorowy blok) jest generowany automatycznie przez Uptime Kuma. Jeśli chcesz pełną kontrolę nad formatem, rozważ użycie typu powiadomienia Webhook (generic) zamiast dedykowanego Discord — pozwala on na pełne customowe payload JSON z własnymi embedami.

Strategia wielokanałowa — Discord + e-mail + inne

Discord jest doskonałym kanałem powiadomień, ale w środowisku produkcyjnym nie powinien być jedynym. Profesjonalny monitoring wymaga strategii wielokanałowej (multi-channel notification strategy), która zapewnia, że krytyczne alerty dotrą do właściwych osób nawet w przypadku awarii jednego z kanałów.

Dlaczego sam Discord nie wystarczy

  • Single point of failure — jeśli Discord ma awarię (a zdarza się to kilka razy w roku), tracisz kanał powiadomień
  • Wyciszenie — członkowie zespołu mogą mieć wyciszone powiadomienia Discord (tryb DND, wyciszony kanał, sesja fokusowa na telefonie)
  • Brak gwarancji dostarczenia — webhook nie potwierdza odbioru; jeśli API Discord jest przeciążone, wiadomość może nie dotrzeć
  • Brak eskalacji — Discord nie ma wbudowanego mechanizmu eskalacji (jeśli nikt nie zareaguje w X minut, powiadom kogoś innego)

Rekomendowana strategia wielokanałowa

WarstwaKanałCelKonfiguracja w Uptime Kuma
1 — NatychmiastowyDiscord + TelegramSzybki alert na telefon i desktopDiscord webhook + Telegram bot, oba przypisane do monitora
2 — FormalnyE-mailDokumentacja incydentu, ślad audytowySMTP notification z detalami monitora
3 — EskalacjaPagerDuty / OpsGenieEskalacja, jeśli nikt nie zareagujePagerDuty notification z harmonogramem dyżurów
4 — StatusowaStrona statusu Uptime KumaInformacja dla klientów/użytkownikówWbudowana status page na custom domenie

Przykład konfiguracji dla firmy

Firma monitoruje 50 usług w Uptime Kuma. Konfiguracja powiadomień:

  • Wszystkie monitory → Discord #monitoring (informacyjny, bez wzmiankek) + E-mail (zbiorczy, do skrzynki zespołu)
  • Monitory produkcyjne → Discord #alerty-krytyczne (z @oncall) + Telegram (do osobistego telefonu dyżurnego) + PagerDuty (z eskalacją po 15 minutach)
  • Monitory SSL → Discord #ssl-expiry + E-mail (do osoby odpowiedzialnej za certyfikaty)
  • Monitory staging → Discord #monitoring-staging (bez wzmiankek, cichy kanał)

Ta strategia zapewnia, że krytyczna awaria produkcji nie zostanie przeoczona — nawet jeśli Discord nie działa, Telegram i PagerDuty przejmują pałeczkę. Jednocześnie mniej pilne alerty (staging, SSL) nie zaśmiecają krytycznych kanałów.

Profesjonalny monitoring bez administracji

Na SmartXHosting.pl dostajesz Uptime Kuma z pełną konfiguracją — Discord, Telegram, e-mail i inne kanały powiadomień gotowe do użycia. Automatyczne aktualizacje, codzienny backup, wsparcie techniczne.

Zamów hosting Uptime Kuma

Rozwiązywanie typowych problemów

Integracja Discord z Uptime Kuma jest prosta, ale czasem pojawiają się problemy. Oto najczęstsze z nich i sposoby ich rozwiązania.

Problem 1: Test powiadomienia nie działa — brak wiadomości na Discordzie

Przyczyny i rozwiązania:

  • Nieprawidłowy URL webhooka — upewnij się, że URL zaczyna się od https://discord.com/api/webhooks/ (nie https://discordapp.com/ — stary format może nie działać). Skopiuj URL ponownie z ustawień kanału Discord.
  • Webhook został usunięty — jeśli ktoś usunął webhook z ustawień kanału Discord, URL przestaje działać. Utwórz nowy webhook i zaktualizuj URL w Uptime Kuma.
  • Kanał Discord został usunięty — webhook jest przypisany do kanału. Jeśli kanał zostanie usunięty, webhook przestaje działać.
  • Problemy sieciowe — sprawdź, czy serwer Uptime Kuma ma dostęp do Internetu i może wykonywać żądania HTTPS do discord.com. Firewall, proxy lub ograniczenia sieciowe mogą blokować połączenie.

Problem 2: Powiadomienia docierają z opóźnieniem

Przyczyny:

  • Rate limiting — Discord limituje webhooki do 30 żądań na 60 sekund. Jeśli masz wiele monitorów, które zmieniają stan jednocześnie (np. po restarcie serwera), część powiadomień może być kolejkowana. Uptime Kuma obsługuje retry po otrzymaniu odpowiedzi 429 (Too Many Requests) od Discorda.
  • Retry w Uptime Kuma — jeśli pierwsze wysłanie nie powiedzie się, Uptime Kuma ponawia próbę. To może dodać kilka sekund opóźnienia.
  • Przeciążenie Discorda — podczas globalnych awarii Discorda wiadomości mogą docierać z opóźnieniem. To jest poza kontrolą Uptime Kuma.

Problem 3: Wzmianki @role nie generują powiadomień push

Rozwiązanie: Upewnij się, że:

  • Wzmianka jest w polu Prefix Message (content), nie w nazwie monitora ani innym polu — wzmianki w embedach nie generują powiadomień push
  • Format wzmianki jest poprawny — <@&ROLE_ID> (z ampersandem dla ról) lub <@USER_ID> (bez ampersanda dla użytkowników)
  • Rola ma włączoną opcję „Allow anyone to @mention this role" w ustawieniach serwera → Role → dana rola, LUB webhook ma uprawnienia do wzmiankowania wszystkich ról
  • Członkowie roli nie mają wyciszonych powiadomień na tym kanale

Problem 4: Embed Discord jest pusty lub nieprawidłowy

Przyczyny:

  • Zbyt długi Prefix Message — Discord ma limit 2000 znaków na pole content. Jeśli szablon LiquidJS generuje dłuższy tekst, wiadomość zostanie odrzucona. Skróć szablon.
  • Nieprawidłowa składnia LiquidJS — błędy w szablonie mogą powodować puste wiadomości. Testuj szablony przyciskiem Test przed zapisaniem.
  • Problem z kodowaniem znaków — polskie znaki (ą, ę, ś, ć) powinny działać poprawnie w UTF-8. Jeśli widzisz uszkodzone znaki, sprawdź kodowanie serwera.

Problem 5: Webhook przestał działać po zmianie ustawień kanału

Rozwiązanie: Zmiana nazwy kanału, kategorii lub uprawnień nie kasuje webhooka — powinien nadal działać. Natomiast usunięcie kanału lub usunięcie webhooka z ustawień integracji powoduje trwałe dezaktywowanie URL-a. W takim przypadku jedyne rozwiązanie to utworzenie nowego webhooka i aktualizacja URL-a w Uptime Kuma.

Problem 6: Zbyt wiele powiadomień (alert fatigue)

Rozwiązanie:

  • Zwiększ liczbę Max Retries w monitorze (np. z 1 do 3) — eliminuje fałszywe alarmy spowodowane chwilowymi problemami
  • Zwiększ interwał sprawdzania dla mniej krytycznych monitorów (np. z 60s na 300s)
  • Użyj osobnych kanałów Discord dla różnych priorytetów (jak opisano w sekcji o wielu kanałach)
  • Skonfiguruj Resend Notification z rozsądnym interwałem (np. co 30 minut) zamiast domyślnego „tylko raz"
  • Wycisz powiadomienia z kanałów informacyjnych na Discordzie (prawy klik → Wycisz kanał → Tylko wzmianki)
Diagnostyka webhooka

Aby szybko przetestować, czy webhook działa niezależnie od Uptime Kuma, użyj polecenia cURL w terminalu:
curl -H "Content-Type: application/json" -d '{"content":"Test z terminala"}' WEBHOOK_URL
Jeśli wiadomość pojawi się na Discordzie, webhook działa — problem jest po stronie konfiguracji Uptime Kuma. Jeśli nie pojawi się — problem jest z webhookiem lub siecią.

Najczęściej zadawane pytania

Czy powiadomienia Discord w Uptime Kuma są darmowe?
Tak. Zarówno Uptime Kuma, jak i Discord Webhooks są całkowicie bezpłatne. Nie ma żadnych opłat za wysyłanie powiadomień, nie ma limitu liczby wiadomości dziennie (poza rate limitami API — 30 żądań na 60 sekund per webhook). Jedynym kosztem jest serwer, na którym działa Uptime Kuma (lub opcjonalnie hosting zarządzany).
Ile webhooków Discord mogę skonfigurować w Uptime Kuma?
Nie ma limitu w Uptime Kuma — możesz skonfigurować dowolną liczbę powiadomień Discord, każde z innym URL-em webhooka i innymi ustawieniami. Discord pozwala na maksymalnie 15 webhooków per kanał i nie narzuca limitu całkowitej liczby webhooków na serwerze. W praktyce 5-10 webhooków (po jednym na kanał monitoringu) pokrywa potrzeby nawet dużych środowisk.
Czy mogę wysyłać powiadomienia Discord na DM (wiadomość prywatną)?
Webhooki Discord działają wyłącznie z kanałami tekstowymi na serwerze — nie można ich użyć do wysyłania wiadomości prywatnych (DM). Jeśli chcesz otrzymywać alerty jako DM, masz dwie opcje: (1) użyj dedykowanego bota Discord, który może wysyłać DM do użytkowników, (2) utwórz prywatny kanał Discord widoczny tylko dla Ciebie i skieruj tam webhook. Druga opcja jest znacznie prostsza i daje podobny efekt.
Co się stanie z powiadomieniami, jeśli Discord ma awarię?
Jeśli API Discorda jest niedostępne w momencie wysyłania powiadomienia, Uptime Kuma otrzyma błąd HTTP i może ponowić próbę. Jednak jeśli awaria Discorda trwa dłużej, powiadomienie może zostać utracone. Dlatego zalecamy strategię wielokanałową — Discord jako kanał główny + Telegram lub e-mail jako backup. Uptime Kuma wysyła powiadomienia równocześnie do wszystkich skonfigurowanych kanałów.
Czy mogę formatować wiadomości Discord z Uptime Kuma za pomocą Markdown?
Tak. Pole Prefix Message w konfiguracji powiadomienia Discord obsługuje składnię Markdown Discorda: **pogrubienie**, *kursywa*, `kod`, ~~przekreślenie~~, > cytat, oraz bloki kodu z potrójnym apostrofem. Możesz też używać szablonów LiquidJS do generowania dynamicznego Markdown. Natomiast sam embed (kolorowy blok) jest generowany automatycznie i jego format jest kontrolowany przez Uptime Kuma.
Jak usunąć lub zmienić webhook Discord w Uptime Kuma?
W Uptime Kuma przejdź do Ustawienia → Powiadomienia → znajdź konfigurację Discord → kliknij Edytuj (zmiana URL lub ustawień) lub Usuń (usunięcie konfiguracji). Usunięcie konfiguracji powiadomienia w Uptime Kuma nie usuwa webhooka na Discordzie — jeśli chcesz go usunąć, zrób to osobno w ustawieniach kanału Discord (Integracje → Webhooks → Usuń).
Czy Uptime Kuma obsługuje Discord Forum Channels i Threads?
Webhooki Discord mogą wysyłać wiadomości na standardowe kanały tekstowe. Obsługa Forum Channels wymaga dodania parametru thread_id w URL-u webhooka (np. ?thread_id=XXXXXXXXX). W Uptime Kuma możesz dodać ten parametr do URL-a webhooka. Wątki (threads) w standardowych kanałach również są obsługiwane przez ten sam mechanizm. Warto przetestować tę funkcję przyciskiem Test przed zapisaniem.