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ą.
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:
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ł.
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.
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
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)
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.
Przejdź do zakładki Integracje
W menu bocznym ustawień kanału kliknij Integracje (Integrations). Zobaczysz sekcję „Webhooks" — kliknij przycisk Utwórz webhook (Create Webhook).
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.
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.
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ł → Integracje → Webhooks → Nowy webhook. Skonfiguruj nazwę, skopiuj URL i zapisz. Pamiętaj, że musisz mieć uprawnienie Zarządzaj webhookami (Manage Webhooks) na danym kanale.
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.
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).
Przejdź do ustawień powiadomień
Kliknij Ustawienia (Settings) w menu bocznym, a następnie wybierz zakładkę Powiadomienia (Notifications). Kliknij przycisk Skonfiguruj powiadomienie (Setup Notification).
Wybierz typ powiadomienia: Discord
Z listy rozwijanej „Typ powiadomienia" (Notification Type) wybierz Discord. Formularz zmieni się, wyświetlając pola specyficzne dla Discorda.
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)
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.
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
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 KumaPersonalizacja 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 embeda | Wartość | Opis |
|---|---|---|
| Kolor | Czerwony (#FF0000) / Zielony (#00FF00) | Wskazuje status — DOWN (czerwony) lub UP (zielony) |
| Tytuł | Nazwa monitora + status | Np. „[DOWN] API Backend — api.example.com" |
| Opis | Komunikat z detalami | URL monitora, czas odpowiedzi, kod statusu lub komunikat błędu |
| Znacznik czasu | ISO 8601 | Dokładna data i godzina zdarzenia w lokalnej strefie czasowej |
| Footer | Uptime Kuma | Podpis ź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
| Cecha | Webhook | Bot Discord |
|---|---|---|
| Konfiguracja | 1 minuta — skopiuj URL | 30+ minut — rejestracja aplikacji, token, kod |
| Kierunek komunikacji | Jednokierunkowy (do Discorda) | Dwukierunkowy (do i z Discorda) |
| Komendy | Brak | Tak — np. /status, /monitors, /pause |
| Reakcje na wiadomości | Brak | Tak — np. potwierdzenie przejęcia incydentu |
| Edycja wiadomości | Ograniczona | Pełna — aktualizacja statusu w miejscu |
| Rate limity | 30 req/60s per webhook | Zależne od endpointu, bardziej elastyczne |
| Zarządzanie wieloma kanałami | Osobny webhook per kanał | Jeden bot, wiele kanałów |
| Bezpieczeństwo | URL = klucz (prosty, ale ryzykowny przy wycieku) | Token + uprawnienia (bardziej granularne) |
| Wymagana infrastruktura | Żadna dodatkowa | Hosting 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
/statusna 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 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ł Discord | Webhook | Przypisane monitory | Wzmianki |
|---|---|---|---|
| #alerty-krytyczne | Webhook A | Produkcja — API, baza danych, strona główna | @oncall @everyone |
| #monitoring-web | Webhook B | Strony WWW, landing pages, blogi | @webteam |
| #monitoring-infra | Webhook C | Serwery, DNS, porty TCP, certyfikaty SSL | @sysadmin |
| #monitoring-staging | Webhook D | Środowisko staging/dev | Brak (ciche) |
| #ssl-expiry | Webhook E | Monitory certyfikatów SSL (dni do wygaśnięcia) | @devops |
Jak to skonfigurować
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.
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.
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.
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.
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 wzmianki | Format | Przykład | Efekt |
|---|---|---|---|
| Użytkownik | <@USER_ID> | <@123456789012345678> | Powiadomienie push do konkretnej osoby |
| Rola | <@&ROLE_ID> | <@&987654321098765432> | Powiadomienie push do wszystkich z daną rolą |
| @everyone | @everyone | @everyone | Powiadomienie push do wszystkich na kanale |
| @here | @here | @here | Powiadomienie 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źć:
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.
Skopiuj ID roli
Przejdź do Ustawienia serwera → Role. Kliknij prawym przyciskiem na rolę (np. „DevOps") i wybierz Kopiuj ID roli. Otrzymasz numer, np. 987654321098765432.
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) →
@everyonelub<@&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.
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:
| Zmienna | Opis | Przykł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 }}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
| Warstwa | Kanał | Cel | Konfiguracja w Uptime Kuma |
|---|---|---|---|
| 1 — Natychmiastowy | Discord + Telegram | Szybki alert na telefon i desktop | Discord webhook + Telegram bot, oba przypisane do monitora |
| 2 — Formalny | Dokumentacja incydentu, ślad audytowy | SMTP notification z detalami monitora | |
| 3 — Eskalacja | PagerDuty / OpsGenie | Eskalacja, jeśli nikt nie zareaguje | PagerDuty notification z harmonogramem dyżurów |
| 4 — Statusowa | Strona statusu Uptime Kuma | Informacja dla klientów/użytkowników | Wbudowana 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.
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 KumaRozwią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/(niehttps://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)
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
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.