Send SMS notifications via the master unit GSM module in Nagios

To send SMS notifications via GSM modem in the Vutlan master units in Nagios, you can use the following scripts:

SMS for v. 2.3.3 and lower 

SMS for v. 2.4.0 and higher

sendsms_skycontrol
#!/bin/bash # Script for sending SMS notifications via GSM-modem usage() { cat << EOF usage: $0 options OPTIONS: -?,-h Show this message -H Hostname or IP address -u User name -p Password -P Phone for sending -m Message for sending EOF } HOSTIP= USERNAME= PASSWORD= TOPHONE= MESSAGE='Test' while getopts “hH:u:p:P:m:” OPTION do case $OPTION in h) usage exit 1 ;; H) HOSTIP=$OPTARG ;; u) USERNAME=$OPTARG ;; p) PASSWORD=$OPTARG ;; P) TOPHONE=$OPTARG ;; m) MESSAGE=$OPTARG ;; ?) usage exit ;; esac done if [[ -z $HOSTIP ]] || [[ -z $USERNAME ]] || [[ -z $PASSWORD ]] || [[ -z $TOPHONE ]] || [[ -z $MESSAGE ]] then usage exit 1 fi # 1) hash HASH=`echo -n ${PASSWORD} | openssl dgst -sha1 | awk '{print $NF}'` # 2) autorisation RESPONSE=`curl -s -d "querytype=auth&name=${USERNAME}&h=${HASH}" "${HOSTIP}/engine.htm"` # 3) session key KEY=`echo -n ${RESPONSE} | awk -F"\"" '{print $4}'` # 4) send SMS curl -d "querytype=send_sms_message&k=${KEY}" --data-urlencode "to_phone=${TOPHONE}" --data-urlencode "message=${MESSAGE}" ${HOSTIP}/engine.htm > /dev/null 2>&1

Send SMS through a script example:

/etc/nagios/objects/schosts.cfg
./sendsms_vutlan -H 192.168.0.193 -p secret -P +777 -m 'This is a text'

where 192.168.0.193 - address of the master unit with GSM modem;
       secret  - user password for the master unit with GSM modem;
       +777 - phone number to send a message; 
       'This is a text' - forwarded message text;

In order to bind the current script to Nagios, you must create a notification command in the Nagios configuration file:

/etc/nagios/objects/commands.cfg
define command{ command_name notify-service-by-sms command_line $USER1$/sendsms_vutlan -H 192.168.1.190 -p guest -P $CONTACTPAGER$ -m "Nagios – $NOTIFICATIONTYPE$ : $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$" } define command{ command_name notify-host-by-sms command_line $USER1$/sendsms_vutlan -H 192.168.1.190 -p guest -P $CONTACTPAGER$ -m "Nagios – $NOTIFICATIONTYPE$ : Host $HOSTALIAS$ is $HOSTSTATE$" }

You must also create or edit a Nagios contact: 

/etc/nagios/objects/contacts.cfg

Delivered notifications example:

Notification 1

 

Notification 2