Home / Integracje i pluginy / Integracja SMS z Icinga

+

Wysyłaj alerty SMS/głosowe z Icinga

Alerty z Icinga docierają do osoby na dyżurze SMS-em albo telefonem. SMSEagle wysyła je przez własne połączenie komórkowe, więc nie zależą od internetu ani usługi w chmurze.

Gotowy skrypt do pobrania

Skrypt pobierasz z repozytorium SMSEagle na GitHubie i kopiujesz na serwer Icinga, bez pisania własnego kodu.

Potwierdzasz problem odpowiedzią na SMS

Dyżurny potwierdza problem hosta lub usługi w Icinga, odpisując na SMS prosto z telefonu.

Wiesz, co przestało działać

Osobne powiadomienia dla serwerów i usług sprawiają, że z treści SMS-a od razu wiesz, gdzie jest problem.

Jak to działa?

1

Zdarzenie

Icinga wykrywa zmianę stanu hosta lub usługi.

2

Komunikacja

Icinga wysyła zapytanie HTTP API bezpośrednio do SMSEagle w Twojej sieci lokalnej.

3

Alert

SMSEagle dostarcza alert przez własne połączenie komórkowe, bez pośrednictwa zewnętrznego serwisu, jako SMS albo połączenie na telefon odbiorcy.

Konfiguracja w około 5 minut

Uruchomienie całości zajmuje około pięciu minut. Wygeneruj token API w SMSEagle, zdefiniuj polecenia powiadomień w Icinga – i gotowe.

SMSEagle wysyła alerty z Icinga do właściwej osoby SMS-em albo telefonem, o każdej porze.

SMS-y i połączenia głosowe z jednego urządzenia

SMSEagle wysyła alerty z Icinga jako SMS, sam dzwonek albo połączenie, w którym odczytuje alert na głos, wszystko z jednego urządzenia.

Fill-in-the-call-26

Gdy pierwsza osoba nie zareaguje, alert zostanie przesłany do kolejnej

Grupy eskalacji i harmonogramy dyżurów sprawiają, że alert z Icinga dostaje osoba na dyżurze, a gdy nie odpowie, kolejna na liście.

Alerty działają nawet przy awarii jednego urządzenia

Dwa urządzenia SMSEagle mogą pracować w klastrze HA: gdy jedno ulegnie awarii, drugie przejmuje wysyłkę.

Konfiguracja SMSEagle

  1. Utwórz nowego użytkownika dla tego skryptu w interfejs webowy SMSEagle > menu System > Users.

  2. Utwórz klucz API dla tego użytkownika w Settings > Global settings > API, na stronie API v1:
    a) kliknij Create API key, wpisz nazwę w polu Key name i wskaż tego użytkownika w polu Owner
    b) ustaw uprawnienia APIv1 wymienione niżej, potem kliknij Create key
    Token dostępu jest pokazywany tylko raz, zaraz po zapisaniu. Token ten w dalszej części będzie oznaczany jako SMSEAGLEAPITOKEN – zamień go w skryptach na swoją wartość.

  3. W formularzu klucza dodaj uprawnienia dla metod APIv1:

    • Send SMS → sms

    • Ring call → ring

    • Text-to-speech call → tts

    • Advanced text-to-speech call → tts_adv

Konfiguracja Icinga

  1. Pobierz najnowszą wersję skryptu notify_eagle_sms.pl z repozytorium:
    https://github.com/smseagle/smseagle-nagios
    Umieść plugin w katalogu pluginów Icinga.

  2. Utwórz komendy powiadomień SMS (zazwyczaj w pliku commands.cfg).

  3. Zamień:

    • SMSEAGLEURL → adres URL Twojego urządzenia SMSEagle (np. http://192.168.50.150)

    • SMSEAGLEAPITOKEN → Twój token API z SMSEagle (np. NZg2yNmWYb5Q7I3Y3Ifnk5E)

    • (opcjonalnie) dodaj parametr -duration z czasem trwania połączenia (w sekundach, np. -duration 15) – dotyczy call.

    • (dla TTS Advanced) zamień SMSEAGLEVOICE na ID modelu głosu z menu Calls > TTS Voice models w SMSEagle.


Przykładowe komendy

 
define command { command_name notify-by-sms command_line $USER1$/notify_eagle_sms.pl -s SMSEAGLEURL -a SMSEAGLEAPITOKEN -dstaddr $CONTACTPAGER$ -t "$NOTIFICATIONTYPE$ $SERVICESTATE$ $SERVICEDESC$ Host($HOSTNAME$) Info($SERVICEOUTPUT$) Date($SHORTDATETIME$)" } define command { command_name host-notify-by-sms command_line $USER1$/notify_eagle_sms.pl -s SMSEAGLEURL -a SMSEAGLEAPITOKEN -dstaddr $CONTACTPAGER$ -t "$NOTIFICATIONTYPE$ $HOSTSTATE$ Host($HOSTALIAS$) Info($HOSTOUTPUT$) Time($SHORTDATETIME$)" } define command { command_name notify-by-ring-call command_line $USER1$/notify_eagle_sms.pl -s SMSEAGLEURL -a SMSEAGLEAPITOKEN -c ring -dstaddr $CONTACTPAGER$ -t "$NOTIFICATIONTYPE$ $SERVICESTATE$ $SERVICEDESC$ Host($HOSTNAME$) Info($HOSTOUTPUT$) Time($SHORTDATETIME$)" } define command { command_name host-notify-by-ring-call command_line $USER1$/notify_eagle_sms.pl -s SMSEAGLEURL -a SMSEAGLEAPITOKEN -c ring -dstaddr $CONTACTPAGER$ -t "$NOTIFICATIONTYPE$ $HOSTSTATE$ Host($HOSTALIAS$) Info($HOSTOUTPUT$) Time($SHORTDATETIME$)" } define command { command_name notify-by-tts-call command_line $USER1$/notify_eagle_sms.pl -s SMSEAGLEURL -a SMSEAGLEAPITOKEN -c tts -dstaddr $CONTACTPAGER$ -t "$NOTIFICATIONTYPE$ $SERVICESTATE$ $SERVICEDESC$ Host($HOSTALIAS$) Info($HOSTOUTPUT$) Time($SHORTDATETIME$)" } define command { command_name host-notify-by-tts-call command_line $USER1$/notify_eagle_sms.pl -s SMSEAGLEURL -a SMSEAGLEAPITOKEN -c tts -dstaddr $CONTACTPAGER$ -t "$NOTIFICATIONTYPE$ $HOSTSTATE$ Host($HOSTALIAS$) Info($HOSTOUTPUT$) Time($SHORTDATETIME$)" } define command { command_name notify-by-tts-adv-call command_line $USER1$/notify_eagle_sms.pl -s SMSEAGLEURL -a SMSEAGLEAPITOKEN -c tts_adv -dstaddr $CONTACTPAGER$ -voiceid SMSEAGLEVOICE -t "$NOTIFICATIONTYPE$ $SERVICESTATE$ $SERVICEDESC$ Host($HOSTALIAS$) Info($HOSTOUTPUT$) Time($SHORTDATETIME$)" } define command { command_name host-notify-by-tts-adv-call command_line $USER1$/notify_eagle_sms.pl -s SMSEAGLEURL -a SMSEAGLEAPITOKEN -c tts_adv -dstaddr $CONTACTPAGER$ -voiceid SMSEAGLEVOICE -t "$NOTIFICATIONTYPE$ $HOSTSTATE$ Host($HOSTALIAS$) Info($HOSTOUTPUT$) Time($SHORTDATETIME$)" }

 

Konfiguracja kontaktów

W pliku contacts.cfg dodaj kontakt.
Pole pager powinno zawierać numer telefonu w pełnym międzynarodowym formacie, bez znaku + (np. 48xxxxxxxxx).
Jeśli operator wymaga znaku „+”, należy go zastąpić 00.

 
define contact { contact_name engineer alias Support Engineer service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r host_notification_options d,u,r service_notification_commands notify-by-email,notify-by-sms host_notification_commands host-notify-by-email,host-notify-by-sms email engineer@somedomain.com pager 48xxxxxxxx }

Konfiguracja Icinga (alternatywna metoda)

Na Icinga Exchange dostępny jest także pakiet skryptów, które mogą służyć do komunikacji ze SMSEagle:

  • notify_smseagle – wysyła SMS przez urządzenie SMSEagle,

  • check_smseagle – sprawdza siłę sygnału GSM/3G/4G,

  • smseagle_ack.cgi – skrypt dla funkcji callback url w SMSEagle, analizuje przychodzące SMS i potwierdza problemy hostów/usług, jeśli taka dyspozycja przyjdzie SMS-em.

Poznaj urządzenie demo SMSEagle

SMSEagle to rozwiązanie sprzętowo-programowe, które gwarantuje szybkie dostarczenie wiadomości do wskazanych odbiorców – niezależnie od tego, czy chodzi o powiadomienia, alerty czy ważne aktualizacje.

Po rejestracji do wersji demo otrzymujesz zdalny dostęp do naszego fizycznego urządzenia NXS-9750.

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

Czym jest sprzętowa
bramka SMS?

Dowiedz się więcej o
funkcjach SMSEagle