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.

Korzyści

Verified security badge: blue shield outline with a dark circle and white checkmark indicating protection and trust.

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.

Communication tower emitting radio waves from a tall antenna structure

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ą rolę 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. To rozwiązanie znacznie trudniej przeoczyć, szczególnie w środku nocy. Możesz również dodać „smseagle_to: +3712…,+3712…”, aby skierować konkretny alert do innej grupy odbiorców. Konfiguracja odbywa się bezpośrednio w sekcji Labels reguły alertu, bez modyfikacji kodu i bez ponownego wdrażania adaptera.

Manage Group dialog: group name 'escalation' with two checked options, 4-minute interval, stop word 'stop', Save and Cancel buttons.

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. W połączeniu z harmonogramami dyżurów powiadomienia trafiają zawsze do osób, które są aktualnie odpowiedzialne za reakcję, zamiast być na stałe przypisane do jednego numeru telefonu.

Monitorowanie systemu Grafana

Kto pilnuje strażnik? 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ć. W ten sposób Twoja platforma monitorująca zyskuje własny, niezależny nadzór.

Modal Add Monitoring Task: Grafana monitoring, host localhost, TCP on port 443, timeout 30, always on, Save or Cancel.

O SMSEagle

SMSEagle to sprzętowa bramka SMS, która umożliwia wysyłanie i odbieranie powiadomień bezpośrednio przez sieć komórkową. Działa lokalnie, dzięki czemu wszystkie dane pozostają pod pełną kontrolą użytkownika.

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ć punkt kontaktowy, skonfigurować reguły alertów oraz przetestować powiadomienia SMS i głosowe w praktyce.

Jak skonfigurować integrację

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. Konfiguracja SMSEagle

  • W panelu SMSEagle przejdź do sekcji Access to API i upewnij się, że używany token APIv2 posiada uprawnienie Send SMS (oraz Send calls, jeśli chcesz również korzystać z powiadomień głosowych).
  • Jeśli planujesz wysyłanie alertów poprzez połączenia głosowe, zapisz identyfikator modelu głosu TTS (TTS Voice Model ID) dostępny w sekcji Calls → TTS Voice Models.

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