Home / Integracje i pluginy / Integracja SMS z Nagios

+

Wysyłaj alerty SMS z Nagios

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

Działa z poleceniami powiadomień w Nagios

Dodajesz SMSEagle jako polecenie powiadomień w Nagios, więc alerty dla wybranych hostów i usług są wysyłane SMS-em.

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.

Działa bez internetu

SMSEagle wysyła alerty przez własną kartę SIM prosto do sieci komórkowej, więc nie zależą od internetu ani dostawcy SMS w chmurze.

Jak to działa?

1

Zdarzenie

Nagios wykrywa zmianę stanu hosta lub usługi, na przykład przejście serwera w stan DOWN albo monitorowanej usługi w stan CRITICAL.

2

Komunikacja

Nagios uruchamia skrypt notify_eagle_sms.pl, który wysyła żądanie HTTP API do urządzenia 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 do telefonu odbiorcy.

Konfiguracja w około 10 minut

Dzięki wsparciu HTTP API w SMSEagle i gotowemu skryptowi powiadomień dla Nagios, całość skonfigurujesz w około pięć minut. Wygeneruj token API w SMSEagle, zdefiniuj polecenia powiadomień w Nagios – i gotowe.

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

Bez opłat za każdą wiadomość

SMSEagle wysyła SMS-y przez zwykłą kartę SIM, więc płacisz tylko za abonament u operatora.

Alerty działają przy awarii operatora

Na urządzeniach z dwiema kartami SIM różnych operatorów SMSEagle przełącza się na drugą, gdy sieć pierwszego operatora nie działa.

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 w interfejsie webowym 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ść.

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

  1. Utwórz komendy powiadomień SMS w pliku commands.cfg.
  2. Zastąp SMSEAGLEURL adresem URL Twojego urządzenia SMSEagle, np. https://192.168.50.150
  3. Zastąp SMSEAGLEAPITOKEN swoim tokenem API, np. NZg2yNmWYb5Q7I3Y3Ifnk5E
    Parametr opcjonalny dla połączeń, domyślnie 10: dodaj -duration z czasem połączenia w sekundach, np. -duration 15
    Dla TTS Advanced wymagane: zastąp SMSEAGLEVOICE identyfikatorem modelu głosu z menu SMSEagle, Calls > TTS Voice models

Zdefiniuj poniższe 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$)" 
}
 
  1. W kontaktach Nagios, zwykle w pliku contacts.cfg, dodaj kontakt.
    Pole pager powinno zawierać numer telefonu w pełnym formacie międzynarodowym, np. 48xxxxxxxxx

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 }

Jeśli chcesz użyć znaku nowej linii w wiadomości, użyj ciągu: “$’\n'”.

Przykład: 

$USER1$/notify_eagle_sms.pl -s SMSEAGLEURL -a SMSEAGLEAPITOKEN -d $CONTACTPAGER$ -t "$NOTIFICATIONTYPE$"$'\n'"$HOSTSTATE$"$'\n'"Host($HOSTALIAS$)"$'\n'"Info($HOSTOUTPUT$)"$'\n'"Time($SHORTDATETIME$)"

Uwaga dla użytkowników Nagios XI:
Jeśli pojawia się błąd perla, dodaj na początku komendy pełną ścieżkę do interpretera perl w konfiguracji Nagios.

Jeśli podczas działania skryptu pojawia się błąd:
“Message sending error: LWP will support https URLs if the LWP::Protocol::https module is installed.”
zainstaluj pakiet liblwp-protocol-https-perl w swoim systemie.

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