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:

  1. Utwórz kanał Echobell – załóż dedykowany kanał na alerty z Grafany
  2. Skonfiguruj szablony powiadomień – zaprojektuj, jak alerty będą wyglądać na Twoim urządzeniu
  3. Pobierz adres URL webhooka – zdobądź unikalny punkt końcowy webhooka swojego kanału
  4. Ustaw contact point w Grafanie – skonfiguruj Grafanę, aby wysyłała alerty do Echobell
  5. 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

  1. Otwórz aplikację Echobell
  2. Utwórz nowy kanał (np. „Alerty Grafany”)
  3. 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

  1. W ustawieniach kanału znajdź sekcję Wyzwalacze
  2. Skopiuj podany adres URL webhooka
  3. Zachowaj ten adres w bezpiecznym miejscu — użyjesz go w konfiguracji Grafany

Skonfiguruj contact point w Grafanie

  1. W Grafanie przejdź do AlertingContact points
  2. Kliknij New contact point
  3. Ustaw:
    • Name: „Echobell”
    • Type: „Webhook”
    • URL: Twój adres URL webhooka Echobell
    • HTTP Method: POST
    • Content type: application/json
  4. Skonfiguruj szablon wiadomości:
{
  "alertName": "{{ .alertName }}",
  "status": "{{ .status }}",
  "metric": "{{ .metric }}",
  "value": "{{ .value }}",
  "time": "{{ .time }}",
  "message": "{{ .message }}",
  "externalLink": "{{ .dashboardURL }}"
}

Utwórz reguły alertów

  1. Przejdź do AlertingAlert rules
  2. Utwórz nową regułę alertu albo edytuj istniejącą
  3. W konfiguracji reguły:
    • Ustaw odpowiednie warunki dla swoich metryk
    • Wybierz contact point „Echobell”
    • Skonfiguruj kryteria oceny alertu

Testowanie integracji

Aby zweryfikować konfigurację:

  1. Utwórz testową regułę alertu z warunkiem, który szybko się spełni
  2. Poczekaj, aż warunek zostanie spełniony
  3. Sprawdź powiadomienie o alercie w aplikacji Echobell
  4. Zweryfikuj, czy wszystkie zmienne alertu wyświetlają się poprawnie
  5. 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:

  1. Regularny przegląd – audytuj alerty co kwartał i usuwaj przestarzałe reguły
  2. Dokumentuj alerty – dodawaj opisy wyjaśniające, po co dany alert istnieje
  3. Śledź historię alertów – obserwuj, które alerty odpalają się najczęściej
  4. Dostrajaj progi – koryguj je na podstawie danych historycznych i odsetka fałszywych alarmów
  5. Archiwizuj stare alerty – wyłączaj, ale zachowuj reguły dla wycofywanych usług
  6. 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ń

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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ą

  1. 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.

  2. 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)
  3. 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

  1. Zmienne szablonu nie pasują do payloadu Grafany

    • Grafana wysyła konkretne nazwy pól, takie jak .alertName, .status itd.
    • Upewnij się, że zmienne szablonu odpowiadają strukturze payloadu
    • Użyj przycisku „Test” w Grafanie, aby zobaczyć rzeczywisty payload
  2. 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
  3. 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

  1. 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
  2. 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
  3. 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:

  1. Włącz logowanie diagnostyczne w Grafanie

    • Dodaj sekcję [log] w grafana.ini z level = debug
    • Poszukaj w logach prób dostarczenia webhooka i odpowiedzi
  2. 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
  3. 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ł
  4. 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

Materiały o Grafanie

Powiązane integracje

Wpisy na blogu

Kolejne kroki

Skoro masz już Grafanę zintegrowaną z Echobell:

  1. Dostrój alerty – dopasuj progi do rzeczywistych wzorców użycia
  2. Załóż dodatkowe kanały – utwórz osobne kanały dla różnych poziomów istotności
  3. Poznaj inne integracje – podłącz do Echobell kolejne narzędzia (zobacz wszystkie integracje)
  4. Podziel się z zespołem – dodaj współpracowników do swoich kanałów alertowych
  5. Udokumentuj konfigurację – stwórz runbooki opisujące reakcję na konkretne alerty
  6. 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.