Integracja z Grafaną – alerty z infrastruktury
Wysyłaj alerty z Grafany do Echobell przez webhook i odbieraj natychmiastowe powiadomienia push lub połączenia. Konfiguracja krok po kroku z szablonami alertów.
Grafana to popularne rozwiązanie open source do analityki i monitoringu, wykorzystywane przez tysiące organizacji do wizualizacji metryk, logów i śladów. Integrując Grafanę z Echobell, otrzymasz natychmiastowe powiadomienia, gdy Twoje metryki wywołają alert — czy chodzi o wysokie zużycie CPU, presję na pamięć, nieodpowiadające usługi, czy dowolny inny monitorowany warunek.
Ten obszerny przewodnik przeprowadzi Cię przez konfigurację alertów Grafany z Echobell — od podstawowych ustawień po zaawansowane strategie zarządzania alertami.
Wymagania wstępne
Zanim zaczniesz, upewnij się, że masz:
- Konto Echobell z co najmniej jednym utworzonym kanałem (zacznij tutaj)
- Dostęp do instancji Grafany (zalecana wersja 8.0 lub nowsza, najlepsza zgodność od wersji 9.0)
- Uprawnienia administracyjne do konfigurowania powiadomień o alertach w Grafanie (zwykle rola Admin lub Editor)
- Podstawową znajomość dashboardów i metryk Grafany
- Rozeznanie we własnej infrastrukturze monitoringu i wymaganiach dotyczących alertów
Przegląd konfiguracji
Proces integracji obejmuje pięć głównych kroków, które zwykle zajmują 10–15 minut:
- Utwórz kanał Echobell – załóż dedykowany kanał na alerty z Grafany
- Skonfiguruj szablony powiadomień – zaprojektuj, jak alerty będą wyglądać na Twoim urządzeniu
- Pobierz adres URL webhooka – zdobądź unikalny punkt końcowy webhooka swojego kanału
- Ustaw contact point w Grafanie – skonfiguruj Grafanę, aby wysyłała alerty do Echobell
- Utwórz reguły alertów w Grafanie – określ, jakie warunki wyzwalają powiadomienia
Po skonfigurowaniu alerty płyną z Grafany na Twoje urządzenie automatycznie i w czasie rzeczywistym.
Przewodnik krok po kroku
Utwórz kanał Echobell
- Otwórz aplikację Echobell
- Utwórz nowy kanał (np. „Alerty Grafany”)
- Wybierz wyrazisty kolor, aby łatwo go rozpoznawać
Skonfiguruj szablony powiadomień
Ustaw szablony, które skutecznie sformatują alerty z Grafany:
Szablon tytułu:
{{alertName}} - {{status}}
Szablon treści:
🔔 Alert: {{alertName}}
📊 Metric: {{metric}}
📈 Value: {{value}}
⏰ Time: {{time}}
ℹ️ Message: {{message}}
Szablony te współgrają ze strukturą payloadu alertów Grafany.
Pobierz adres URL webhooka
- W ustawieniach kanału znajdź sekcję Wyzwalacze
- Skopiuj podany adres URL webhooka
- Zachowaj ten adres w bezpiecznym miejscu — użyjesz go w konfiguracji Grafany
Skonfiguruj contact point w Grafanie
- W Grafanie przejdź do Alerting → Contact points
- Kliknij New contact point
- Ustaw:
- Name: „Echobell”
- Type: „Webhook”
- URL: Twój adres URL webhooka Echobell
- HTTP Method: POST
- Content type: application/json
- Skonfiguruj szablon wiadomości:
{
"alertName": "{{ .alertName }}",
"status": "{{ .status }}",
"metric": "{{ .metric }}",
"value": "{{ .value }}",
"time": "{{ .time }}",
"message": "{{ .message }}",
"externalLink": "{{ .dashboardURL }}"
}Utwórz reguły alertów
- Przejdź do Alerting → Alert rules
- Utwórz nową regułę alertu albo edytuj istniejącą
- W konfiguracji reguły:
- Ustaw odpowiednie warunki dla swoich metryk
- Wybierz contact point „Echobell”
- Skonfiguruj kryteria oceny alertu
Testowanie integracji
Aby zweryfikować konfigurację:
- Utwórz testową regułę alertu z warunkiem, który szybko się spełni
- Poczekaj, aż warunek zostanie spełniony
- Sprawdź powiadomienie o alercie w aplikacji Echobell
- Zweryfikuj, czy wszystkie zmienne alertu wyświetlają się poprawnie
- Dotknij powiadomienia, aby przejść do powiązanego dashboardu Grafany
Typy powiadomień o alertach
Subskrybując kanał z alertami Grafany, dobierz te typy powiadomień:
- Używaj Czasowo krytycznych przy pilnych, krytycznych alertach systemowych i powiadomieniach awaryjnych
- Używaj Połączenia przy poważnych awariach, przekroczeniu krytycznych progów i sytuacjach alarmowych
- Używaj Standardowych przy zwykłych alertach informacyjnych i rutynowych powiadomieniach
Dobre praktyki zarządzania alertami
Organizacja szablonów alertów
Utrzymuj szablony alertów czytelne i spójne we wszystkich kanałach:
Title: {{alertName}} - {{status}}
Body:
Server: {{instance}}
Metric: {{metric}}
Current: {{value}}
Threshold: {{threshold}}
- Stosuj uporządkowany format – porządkuj informacje przy użyciu czytelnych etykiet
- Umieszczaj kluczowe informacje – nazwę metryki, wartość, próg, dotknięty system
- Używaj emoji z umiarem – 🚨 przy krytycznych, ⚠️ przy ostrzeżeniach, ✅ przy rozwiązanych
- Pisz zwięzłe tytuły – celuj w 5–8 słów, które od razu opisują problem
- Testuj szablony – wyślij alerty testowe, aby sprawdzić formatowanie przed wdrożeniem
Konfiguracja alertów krytycznych
Ustaw odpowiednie progi alertowania, aby uniknąć znieczulenia na powiadomienia:
- Unikaj nadmiaru alertów – ustawiaj progi na poziomie wymagającym działania, a nie tylko ciekawym
- Stosuj histerezę – ustaw inne progi dla alertowania, a inne dla powrotu do normy
- Grupuj powiązane alerty – łącz pokrewne warunki w jedną regułę alertu
- Dobierz odpowiednie interwały oceny – wyważ szybkość reakcji i ograniczanie szumu
- Uwzględniaj okna czasowe – wykonuj kilka sprawdzeń warunku przed wysłaniem alertu
Przykładowa strategia progów:
# Bad: Alert at 50% CPU (too sensitive)
cpu_usage > 50
# Better: Alert at 80% for 5 minutes
avg_over_time(cpu_usage[5m]) > 80
# Best: Progressive alerts
# Warning at 70% sustained, Critical at 90%
Nadawaj alertom sensowne nazwy
Nadawaj alertom opisowe nazwy, które od razu mówią:
- Co jest monitorowane (CPU, pamięć, dysk)
- Gdzie to się dzieje (produkcja, staging, konkretna instancja)
- Dlaczego to ważne (usługa dla użytkowników, krytyczna baza danych)
Dobre przykłady:
- „Production Database - High Connection Pool Usage”
- „API Gateway - Response Time Degradation”
- „Worker Node 3 - Disk Space Critical”
Unikaj:
- „Alert 1”, „Test Alert”, „High CPU”
Zapewnij wystarczający kontekst
Treść alertu powinna odpowiadać na pytania:
- Co się stało? Konkretny warunek, który został spełniony
- Gdzie? Który system, usługa lub instancja
- Jak źle? Bieżąca wartość na tle progu
- Kiedy? Znacznik czasu alertu
- Co dalej? Odnośnik do właściwego dashboardu lub runbooka
Skonfiguruj poziomy priorytetów
Korzystaj z typów powiadomień Echobell z głową:
- Standardowe: alerty informacyjne, powiadomienia o rozwiązaniu, niepilne ostrzeżenia
- Czasowo krytyczne: ważne alerty wymagające uwagi w ciągu kilku godzin
- Połączenie: krytyczne problemy produkcyjne wymagające natychmiastowej reakcji
Przypisz poziomy istotności z Grafany do typów powiadomień:
Critical + Production → Calling
High + Production → Time Sensitive
Medium → Time Sensitive
Low → Normal
Info/Resolved → Normal
Bezpieczeństwo alertów
Chroń swoją infrastrukturę monitoringu:
- Trzymaj adresy URL webhooków w tajemnicy – dają nieuwierzytelniony dostęp do wysyłania powiadomień
- Używaj zmiennych środowiskowych – nie zapisuj adresów na sztywno w plikach provisioningu Grafany
- Okresowo wymieniaj webhooki – zwłaszcza gdy ktoś odchodzi z zespołu
- Monitoruj dostarczanie webhooków – śledź nieudane doręczenia i badaj anomalie
- Audytuj konfiguracje alertów – regularnie sprawdzaj, kto może je modyfikować
- Weryfikuj źródła alertów – korzystaj z wbudowanego uwierzytelniania Grafany dla contact pointów
Zarządzanie cyklem życia alertów
Dbaj o higienę alertów:
- Regularny przegląd – audytuj alerty co kwartał i usuwaj przestarzałe reguły
- Dokumentuj alerty – dodawaj opisy wyjaśniające, po co dany alert istnieje
- Śledź historię alertów – obserwuj, które alerty odpalają się najczęściej
- Dostrajaj progi – koryguj je na podstawie danych historycznych i odsetka fałszywych alarmów
- Archiwizuj stare alerty – wyłączaj, ale zachowuj reguły dla wycofywanych usług
- Kontrola wersji – używaj provisioningu Grafany, aby śledzić zmiany w alertach
Kwestie wydajnościowe
- Unikaj burz alertów – skonfiguruj właściwe grupowanie i czasy
- Korzystaj z notification policies – kieruj różne poziomy istotności do odpowiednich kanałów
- Ustaw interwały oczekiwania i powtarzania – zapobiegaj duplikatom powiadomień
- Grupuj podobne alerty – ogranicz liczbę powiadomień dzięki agregacji
- Uwzględniaj porę dnia – używaj warunków do filtrowania po godzinach pracy
Przykłady z życia
Alert o wysokim CPU
Title: {{instance}} CPU Critical
Body: CPU usage: {{cpu_percent}}%
Duration: {{duration}}
Time: {{time}}
Dashboard: {{dashboard_url}}
Presja na pamięć
Title: Memory Warning - {{hostname}}
Body: Available: {{available_mb}}MB ({{percent_free}}%)
Threshold: {{threshold_mb}}MB
Action: Check memory-intensive processes
Usługa niedostępna
Title: 🚨 {{service_name}} Unreachable
Body: Health check failed
Last success: {{last_successful_check}}
Impact: {{affected_users}} users affected
Runbook: {{runbook_url}}
Typowe zastosowania
Monitoring infrastruktury
- Progi zużycia CPU, pamięci i dysku
- Przepustowość sieci i utrata pakietów
- Dostępność usług i health checki
- Monitoring stanu kontenerów i podów
Wydajność aplikacji
- Pogorszenie czasów odpowiedzi
- Wzrost wskaźnika błędów
- Wyczerpanie puli połączeń do bazy danych
- Głębokość kolejki i opóźnienia przetwarzania
Metryki biznesowe
- Anomalie w wolumenie transakcji
- Spadki przychodu na minutę
- Zmiany liczby aktywnych użytkowników
- Zbliżanie się do limitów API
Monitoring bezpieczeństwa
- Nieudane próby uwierzytelnienia
- Nietypowe wzorce dostępu
- Ostrzeżenia o wygasających certyfikatach
- Naruszenia reguł zapory
Więcej strategii integracji znajdziesz w naszym wpisie na blogu o powiadomieniach telefonicznych z Grafany.
Rozwiązywanie problemów
Jeśli nie otrzymujesz alertów, przejdź przez te kroki diagnostyczne:
Webhook nie wyzwala powiadomień
-
Sprawdź, czy adres URL webhooka został poprawnie skopiowany
- Przejdź do kanału Echobell → Wyzwalacze → Webhook
- Skopiuj pełny adres wraz z
https://hook.echobell.one/t/ - Upewnij się, że przy wklejaniu do Grafany nie doszły spacje ani inne znaki
-
Sprawdź, czy kanał jest aktywny
- Otwórz aplikację Echobell
- Przejdź do kanału z alertami Grafany
- Upewnij się, że nie został przypadkiem usunięty ani zarchiwizowany
-
Upewnij się, że są aktywni subskrybenci
- Powiadomienia dotrą tylko wtedy, gdy kanał subskrybuje co najmniej jedna osoba
- Sprawdź listę subskrypcji kanału
- Zweryfikuj, czy Twoja własna subskrypcja jest aktywna
-
Zweryfikuj konfigurację contact pointa w Grafanie
- Przejdź do Alerting → Contact points w Grafanie
- Otwórz swój contact point Echobell
- Potwierdź, że adres URL zgadza się z webhookiem kanału
- Sprawdź, czy HTTP Method jest ustawione na POST
- Zweryfikuj, czy Content-Type to application/json
-
Sprawdź konfigurację reguły alertu w Grafanie
- Przejdź do Alerting → Alert rules
- Otwórz regułę, która ma się wyzwalać
- Potwierdź, że reguła jest powiązana z Twoim contact pointem Echobell
- Sprawdź, czy notification policy kieruje alert do właściwego contact pointa
-
Przejrzyj historię alertów w Grafanie
- Przejdź do Alerting → Alert rules
- Kliknij swoją regułę → Show history
- Sprawdź, czy alert faktycznie się wyzwala (a nie tkwi w stanie pending)
- Sprawdź, czy nie ma błędów oceny
Alerty się wyzwalają, ale nie docierają
-
Przetestuj webhook bezpośrednio
curl -X POST https://hook.echobell.one/t/<channel-token> \ -H "Content-Type: application/json" \ -d '{"alertName": "Test", "status": "firing"}'Jeśli po tym poleceniu otrzymasz powiadomienie, a z Grafany nie, problem leży w konfiguracji Grafany.
-
Sprawdź notification policies w Grafanie
- Przejdź do Alerting → Notification policies
- Zweryfikuj, czy etykiety Twojej reguły pasują do reguł routingu polityki
- Sprawdź kwestie czasowe (czas oczekiwania na grupowanie, interwały powtarzania)
-
Przejrzyj logi Grafany
- Poszukaj błędów dostarczania webhooków w logach Grafany
- Sprawdź kody statusu HTTP (powinno być 200)
- Zbadaj wszelkie przekroczenia limitu czasu i błędy połączenia
Powiadomienia renderują się niepoprawnie
-
Zmienne szablonu nie pasują do payloadu Grafany
- Grafana wysyła konkretne nazwy pól, takie jak
.alertName,.statusitd. - Upewnij się, że zmienne szablonu odpowiadają strukturze payloadu
- Użyj przycisku „Test” w Grafanie, aby zobaczyć rzeczywisty payload
- Grafana wysyła konkretne nazwy pól, takie jak
-
Brakujące informacje w powiadomieniach
- Część zmiennych Grafany może być pusta w zależności od konfiguracji alertu
- Dodaj w szablonach wartości zapasowe:
{{alertName || "Unknown Alert"}} - Sprawdź w dokumentacji Grafany, jakie zmienne szablonu są dostępne
-
Błędy parsowania JSON
- Zweryfikuj, czy szablon wiadomości Grafany jest poprawnym JSON-em
- Sprawdź, czy nie ma niezaescapowanych cudzysłowów ani znaków specjalnych
- Skorzystaj z walidatorów JSON online, aby sprawdzić strukturę payloadu
Problemy z czasem alertów
-
Opóźnienia w odbiorze alertów
- Sprawdź łączność sieciową
- Zweryfikuj, czy Grafana ma dostęp do serwerów Echobell
- Przejrzyj interwał oceny w Grafanie (może powodować opóźnienia)
- Sprawdź ustawienia czasowe notification policy
-
Zduplikowane powiadomienia
- Przejrzyj ustawienia interwału powtarzania w notification policies
- Sprawdź, czy dla tego samego warunku nie wyzwala się kilka reguł
- Upewnij się, że dla kanału skonfigurowano tylko jeden contact point
-
Powiadomienia w godzinach ciszy
- Tryby Skupienia w iOS mogą wpływać na dostarczanie powiadomień
- Powiadomienia Czasowo krytyczne i Połączenie potrafią ominąć część trybów Skupienia
- Przejrzyj ustawienia powiadomień na swoim urządzeniu
Problem nadal występuje?
Jeśli wszystkie powyższe kroki zawiodły, a problem się utrzymuje:
-
Włącz logowanie diagnostyczne w Grafanie
- Dodaj sekcję
[log]w grafana.ini zlevel = debug - Poszukaj w logach prób dostarczenia webhooka i odpowiedzi
- Dodaj sekcję
-
Skorzystaj z wbudowanej funkcji testowej Grafany
- W ustawieniach contact pointa użyj przycisku „Test”, aby wysłać przykładowy alert
- Pomoże to ustalić, czy problem dotyczy reguł, czy dostarczania
-
Wypróbuj inną regułę alertu
- Utwórz prostą regułę testową z warunkiem, który na pewno się spełni
- Jeśli test działa, a reguły produkcyjne nie, problem leży w konfiguracji reguł
-
Skontaktuj się ze wsparciem
- Odwiedź nasze Centrum wsparcia
- Napisz na echobell@weelone.com, podając:
- Wersję Grafany
- Przykładowy payload alertu (bez danych wrażliwych)
- Adres URL webhooka (z zamaskowanym tokenem)
- Kroki, które już wypróbowano
- Zachowanie oczekiwane i faktyczne
Powiązana dokumentacja i materiały
Dokumentacja Echobell
- Przewodnik po integracji z webhookami – dogłębne omówienie działania webhooków
- System szablonów – opanuj składnię szablonów powiadomień
- Warunki – filtruj alerty według kryteriów
- Typy powiadomień – zrozum priorytety alertów
- Pierwsze kroki – podstawy i konfiguracja Echobell
Materiały o Grafanie
- Dokumentacja alertowania Grafany – oficjalny przewodnik po alertach Grafany
- Contact points – konfiguracja contact pointów w Grafanie
- Notification policies – routing i grupowanie alertów
- Alert rules – tworzenie reguł alertów i zarządzanie nimi
Powiązane integracje
- Integracja z Prometheusem – alertowanie bezpośrednio z Prometheusa
- Uptime Kuma – monitoring dostępności witryn
- GitHub Actions – alerty z procesów CI/CD
- Home Assistant – powiadomienia z inteligentnego domu
Wpisy na blogu
- Włącz powiadomienia telefoniczne dla alertów Grafany – zaawansowane strategie integracji z Grafaną
- Nie przegap żadnej awarii GitHub Actions – dobre praktyki alertowania w CI/CD
- Powiadomienia w oknach czasowych z warunkami UTC – filtrowanie po godzinach pracy
Kolejne kroki
Skoro masz już Grafanę zintegrowaną z Echobell:
- Dostrój alerty – dopasuj progi do rzeczywistych wzorców użycia
- Załóż dodatkowe kanały – utwórz osobne kanały dla różnych poziomów istotności
- Poznaj inne integracje – podłącz do Echobell kolejne narzędzia (zobacz wszystkie integracje)
- Podziel się z zespołem – dodaj współpracowników do swoich kanałów alertowych
- Udokumentuj konfigurację – stwórz runbooki opisujące reakcję na konkretne alerty
- Oceniaj skuteczność alertów – śledź odsetek fałszywych alarmów i czasy reakcji
Chcesz monitorować więcej systemów? Zajrzyj do naszego kompletnego przewodnika integracji, gdzie znajdziesz inne popularne narzędzia i platformy monitorujące.