---
title: "Integracja z Grafaną – alerty z infrastruktury"
sidebarTitle: Grafana
description: 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.
---

import { Step, Steps } from "fumadocs-ui/components/steps";

# Integracja z Grafaną

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](/docs))
- 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

<Steps>
<Step>
### 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ć
</Step>
<Step>

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

</Step>
<Step>
### 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
</Step>
<Step>

### Skonfiguruj contact point w Grafanie

1. W Grafanie przejdź do **Alerting** → **Contact 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:

```json
{
  "alertName": "{{ .alertName }}",
  "status": "{{ .status }}",
  "metric": "{{ .metric }}",
  "value": "{{ .value }}",
  "time": "{{ .time }}",
  "message": "{{ .message }}",
  "externalLink": "{{ .dashboardURL }}"
}
```

</Step>
<Step>
### Utwórz reguły alertów

1. Przejdź do **Alerting** → **Alert 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
</Step>
</Steps>

## 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ń](/docs/notification) 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](/docs/conditions) 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](/blog/grafana-call-notification).

## 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**
   ```bash
   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](/docs/support)
   - 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](/docs/webhook)** – dogłębne omówienie działania webhooków
- **[System szablonów](/docs/template)** – opanuj składnię szablonów powiadomień
- **[Warunki](/docs/conditions)** – filtruj alerty według kryteriów
- **[Typy powiadomień](/docs/notification)** – zrozum priorytety alertów
- **[Pierwsze kroki](/docs)** – podstawy i konfiguracja Echobell

### Materiały o Grafanie

- **[Dokumentacja alertowania Grafany](https://grafana.com/docs/grafana/latest/alerting/)** – oficjalny przewodnik po alertach Grafany
- **[Contact points](https://grafana.com/docs/grafana/latest/alerting/fundamentals/contact-points/)** – konfiguracja contact pointów w Grafanie
- **[Notification policies](https://grafana.com/docs/grafana/latest/alerting/fundamentals/notification-policies/)** – routing i grupowanie alertów
- **[Alert rules](https://grafana.com/docs/grafana/latest/alerting/fundamentals/alert-rules/)** – tworzenie reguł alertów i zarządzanie nimi

### Powiązane integracje

- **[Integracja z Prometheusem](/docs/developer/prometheus)** – alertowanie bezpośrednio z Prometheusa
- **[Uptime Kuma](/docs/developer/uptime-kuma)** – monitoring dostępności witryn
- **[GitHub Actions](/docs/developer/github)** – alerty z procesów CI/CD
- **[Home Assistant](/docs/developer/home-assistant)** – powiadomienia z inteligentnego domu

### Wpisy na blogu

- **[Włącz powiadomienia telefoniczne dla alertów Grafany](/blog/grafana-call-notification)** – zaawansowane strategie integracji z Grafaną
- **[Nie przegap żadnej awarii GitHub Actions](/blog/github-actions-notifications)** – dobre praktyki alertowania w CI/CD
- **[Powiadomienia w oknach czasowych z warunkami UTC](/blog/time-window-notifications-using-utc-conditions)** – filtrowanie po godzinach pracy

## 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](/docs/features))
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](/docs/features), gdzie znajdziesz inne popularne narzędzia i platformy monitorujące.
