Home / Integracje i pluginy / Grafana – Powiadomienia SMS i głosowe
Grafana logo plus SMSEagle logo with a plus sign, indicating an integration between Grafana and SMSEagle.

Alerty SMS i głosowe w Grafana.

Monitoring 24/7, na którym możesz polegać.

Połącz rozbudowany system alertów Grafana z niezawodnością sprzętowej bramki SMSEagle. Zyskaj pewność, że jako pierwszy dowiesz się o krytycznym incydencie, nawet wtedy, gdy awarii ulegnie sieć, od której zależy Twoje środowisko monitoringu.

Data flow: Grafana on server/VM sends a webhook via the SMSEagle Webhook Adapter to the SMSEagle device, reaching the user for SMS/Voice notifications.

Powiadomienia niezależne od Internetu

Grafana skutecznie wykrywa anomalie, lecz wysyłka alertów zależy zwykle od internetu, poczty lub dostawców chmurowych. Jeśli którykolwiek z tych elementów zawiedzie, alert nigdy do Ciebie nie dotrze. SMSEagle wysyła alerty bezpośrednio przez sieć komórkową, gwarantując ich dostarczenie nawet przy całkowitej awarii łącza.

Autonomiczne rozwiązanie sprzętowe

Grafana oraz monitorowane przez nią systemy często działają na tej samej infrastrukturze, tym samym hoście Docker lub tym samym klastrze maszyn wirtualnych. Jeśli środowisko wirtualne ulegnie awarii, system alertowania również przestanie działać. SMSEagle to niezależne urządzenie fizyczne z własną kartą SIM, w pełni odporne na awarie monitorowanych serwerów.

Brak chmury, pełna kontrola nad danymi

SMSEagle działa w modelu lokalnym (on-premises). To oznacza, że treść Twoich alertów nie trafia do zewnętrznych dostawców SaaS ani chmurowych bramek SMS. Urządzenie wysyła wiadomości bezpośrednio do operatora GSM, zapewniając pełną kontrolę nad danymi.

Jak to działa?

1

Zdarzenie

Reguła alertów Grafana analizuje metryki lub logi i wykrywa stan alarmowy (np. min (smseagle_modem_signal_strength) <30, lub dowolny warunek oparty na Prometheus lub Loki).

2

Komunikacja

Punkt kontaktowy (Contact point) typu Webhook w Grafanie przesyła powiadomienie do smseagle-alert-webhook – niewielkiego adaptera open source działającego obok Grafany, który przekazuje alert do SMSEagle za pośrednictwem APIv2.

3

Alert

SMSEagle wysyła wiadomość SMS lub wykonuje połączenie głosowe z syntezą mowy (Text-to-Speech) do odbiorców przypisanych do danego alertu.

Diagram of monitored infrastructure: Grafana alert rule sends via SMS gateway (SMSEagle) to a cellular network and operator; icons for servers, applications, databases, logs, and network devices.

Integracja w 15 minut

Punkt kontaktowy (Contact point) typu Webhook w Grafanie nie może komunikować się bezpośrednio z API SMSEagle. Potrzebny jest niewielki pośrednik. Taką funkcję pełni smseagle-alert-webhook – darmowy adapter open-source, który można uruchomić za pomocą jednego polecenia “docker compose up”. Wystarczy skierować do niego punkt kontaktowy Webhook w Grafanie, a wszystkie istniejące reguły alertów będą mogły wysyłać powiadomienia SMS oraz wykonywać połączenia głosowe. Nie wymaga to żadnych zmian w skonfigurowanych regułach alertów.

Monitoring to dopiero początek.
Przejmij pełną kontrolę nad alertami i automatyzacją.

Kierowanie alertów do
odpowiednich kanałów
i odbiorców

Nie każdy alert wymaga połączenia głosowego i nie każde połączenie powinno trafiać do tej samej osoby. Dodaj „smseagle_channel: call” do alertu o wysokim priorytecie, a SMSEagle zamiast wysyłać SMS wykona połączenie głosowe i odczyta treść alertu za pomocą syntezy mowy. 

Grupy odbiorców i eskalacja

Nie każdy alert musi trafiać do wszystkich, ale żaden nie może zostać zignorowany.SMSEagle umożliwia tworzenie grup odbiorców, dzięki którym każde powiadomienie trafia do właściwego zespołu. Eskalacja zapewnia, że jeśli pierwsza osoba nie potwierdzi otrzymania alertu, zostanie on automatycznie przekazany do kolejnego dyżurującego. 

Monitorowanie systemu Grafana

Kto pilnuje strażnika? Jeśli serwer Grafana przestanie działać, nie będzie w stanie wysłać ani jednego alertu, a Ty możesz dowiedzieć się o problemie dopiero wtedy, gdy będzie już za późno. Dzięki wbudowanej w SMSEagle funkcji Network Monitoring, bramka niezależnie sprawdza system Grafana i wysyła SMS-a lub wykonuje połączenie głosowe w momencie, gdy przestanie on odpowiadać.

Wideo tutorial: alerty SMS
i głosowe w Grafana

Dowiedz się, jak zintegrować Grafanę z SMSEagle i dostarczać alerty za pomocą wiadomości SMS oraz połączeń głosowych. Tutorial krok po kroku pokazuje, jak skonfigurować token API, wdrożyć adapter webhook, utworzyć kontakt, skonfigurować reguły alertów oraz przetestować powiadomienia SMS i głosowe w praktyce.

1. Konfiguracja SMSEagle

Zanim zaczniesz: to rozwiązanie jest przeznaczone wyłącznie dla środowisk hostowanych lokalnie.  Silnik alertów Grafana musi mieć możliwość komunikacji z adapterem, a adapter musi mieć dostęp do urządzenia SMSEagle w sieci lokalnej. Najlepszym rozwiązaniem jest więc lokalnie hostowana instancja Grafana działająca w tej samej sieci co urządzenie SMSEagle. Grafana Cloud nie może komunikować się bezpośrednio z prywatnymi adresami w sieci LAN. W takim przypadku zalecamy skorzystanie z funkcji Email-to-SMS Poller dostępnej w SMSEagle.

  1. Utwórz nowego użytkownika w SMSEagle (menu System > Users, poziom dostępu: User).
  2. Utwórz klucz API dla tego użytkownika:
    • przejdź do Settings > Global settings > API i otwórz stronę API v2
    • kliknij Create API key, uzupełnij pole Key name i wybierz utworzonego użytkownika jako Owner
    • w sekcji Messages nadaj uprawnienia dla: Send SMS
    • w sekcji Calls nadaj uprawnienia dla: Make a ring call, Make a TTS Advanced call (dla alertów głosowych)
    • kliknij Create key. Token dostępu jest pokazywany tylko raz, zaraz po zapisaniu.

2. Wdrożenie adaptera

git clone https://github.com/dmitrylambert/grafana-monitoring.git
cd grafana-monitoring/smseagle-alert-webhook
cp .env.example .env

Edytuj plik .env:

  • SMSEAGLE_API_URL – adres IP lub nazwa hosta urządzenia SMSEagle.
  • SMSEAGLE_ACCESS_TOKEN – token APIv2 utworzony w kroku 1.
  • SMSEAGLE_SMS_TO-domyślny numer lub numery odbiorców powiadomień (można je nadpisać dla poszczególnych alertów, patrz niżej).
  • Pozostaw wartość SMSEAGLE_TEST_MODE=true, dopóki nie zweryfikujesz poprawnego działania integracji od początku do końca.

Następnie zbuduj i uruchom kontener:
docker compose up -d --build
curl http://localhost:9099/healthz    # -> ok

3a. Konfiguracja Grafana przez interfejs użytkownika

    • Przejdź do Alerting → Contact points → Add contact point.
    • Wprowadź następujące ustawienia:
      • Name: SMSEagle
      • Integration: Webhook
      • URL: adres adaptera dostępny z poziomu Grafany (np. http://host.docker.internal:9099/, jeśli Grafana działa w Dockerze na tym samym hoście).
      • HTTP Method: POST
    • Kliknij Test (przy ustawieniu SMSEAGLE_TEST_MODE=true), aby zweryfikować konfigurację bez wysyłania rzeczywistej wiadomości SMS.
Grafana Notification configuration screen: left sidebar with Alerting options and a dark theme, main panel shows tabs (Contact points, Notification policies, Templates, Time intervals) and a search bar with a + New contact point button.
Grafana Notification configuration screen showing the Create contact point form with webhook integration, fields for Name, URL, HTTP Method, HTTP Basic Auth (username/password), and Authorization header (Bearer).
  • Alerting → Notification policies – ustaw SMSEagle jako domyślnego odbiorcę powiadomień lub dodaj odpowiednią regułę.
  • W regule alertu dodaj smseagle_channel: call, aby alert został dostarczony jako połączenie głosowe (aby wysłać wiadomość SMS, pomiń to pole lub ustaw wartość sms). Opcjonalnie możesz również dodać smseagle_to: +3712..., aby określić innych odbiorców dla tego konkretnego alertu.
Edit labels dialog: set smseagle_channel to call and smseagle_to to two phone numbers, with a Save button.

3b. Konfiguracja Grafana za pomocą plików provisioning (zalecane)

Jeśli korzystasz z GitOps i chcesz mieć możliwość łatwego odtworzenia konfiguracji, skopiuj przykładowe pliki contactpoints.yaml, policies.yaml, and alert-rule.example.yamldo katalogu provisioning w Grafanie, a następnie uruchom Grafanę ponownie. Przed restartem zaktualizuj wartość parametru url: w pliku contactpoints.yaml, wskazując adres uruchomionego adaptera.

Uwaga: plik policies.yaml tworzy główną politykę powiadomień. Po jego zaimportowaniu wszystkie alerty będą domyślnie kierowane do SMSEagle, a sekcja Notification Policies w interfejsie Grafana stanie się dostępna tylko do odczytu. Jeśli chcesz wysyłać do SMSEagle tylko wybrane alerty, pomiń plik policies.yaml i skonfiguruj odpowiednią regułę routingu w interfejsie użytkownika Grafana (zobacz krok 3a).

4. Testowanie integracji

Pozostaw ustawienie SMSEAGLE_TEST_MODE=true na czas konfiguracji i testów. W tym trybie SMSEagle weryfikuje każde przychodzące żądanie, ale nie wysyła rzeczywistych powiadomień (testowa wysyłka zwraca id: 0). Uruchom regułę alertu testowego i sprawdź jej przetworzenie za pomocą polecenia:docker compose logs -f.

Po potwierdzeniu, że wszystko działa poprawnie, zmień wartość SMSEAGLE_TEST_MODE na false, a następnie przebuduj i uruchom ponownie kontener, aby włączyć wysyłanie rzeczywistych powiadomień.

Warto wiedzieć

  • Grafana wysyła powiadomienia zarówno przy przejściu alertu w stan firing, jak i resolved. Jeśli chcesz otrzymywać wyłącznie powiadomienia o nowych problemach, zaznacz opcję „Disable resolved message” w konfiguracji punktu kontaktowego.
  • Treść wiadomości SMS lub połączenia głosowego jest pobierana bezpośrednio z adnotacji alertu message, summary lub description. Komunikat jest wysyłany lub odczytywany dokładnie w takiej formie, w jakiej został zdefiniowany, z prefiksem PROBLEM. lub RESOLVED.. Powiadomienie nie zawiera dodatkowych etykiet, liczników ani innych automatycznie generowanych informacji, dzięki czemu odbiorca otrzymuje dokładnie taką treść, jaką skonfigurowano w regule alertu.

Szczegółowy przewodnik integracji przygotowany przez Dmitry’ego Lamberta jest dostępny w serwisie Github.

Poznaj urządzenie demo SMSEagle

SMSEagle to urządzenie z wbudowanym oprogramowaniem, które gwarantuje szybkie dostarczanie wiadomości do wyznaczonych odbiorców, niezależnie czy są to powiadomienia, alerty czy ważne aktualizacje.

Wypełnij formualarz i uzyskaj dostep do fizycznego urządzenia demonstracyjnego.

  • 14-dniowy bezpłatny okres próbny
  • Dostęp do ponad 20 funkcjonalności

Czym jest sprzętowa
bramka SMS?

Dowiedz się więcej
o funkcjach SMSEagle