There is a possibility to send notification to a pager via the DAPNET-Core. Look here. However, if in case of a failure the DAPNET-Core is not reachable, you may want to send a paging call directly via your unipager.
UNTESTED
Get the python script from https://github.com/dh3wr/UniPager-SendWebsocket. Copy the file unipager_send.py
to /usr/local/bin
or whereever you want it to be.
Edit commands.cfg
and add the following lines:
# 'notify-host-by-pager' command definition define command{ command_name notify-host-by-pager-on-unipager command_line /usr/bin/python /usr/local/bin/unipager_send.py --hostname $USER14$ --password $USER15$ --ric $$ --msg "NAGIOS $NOTIFICATIONTYPE$: $HOSTNAME$ $HOSTSTATE$" } # 'notify-service-by-pager' command definition define command{ command_name notify-service-by-pager-on-unipager command_line /usr/bin/python /usr/local/bin/unipager_send.py --hostname $USER$ --password $USER$ --ric $address2$ --msg "NAGIOS $NOTIFICATIONTYPE$: $HOSTNAME$ $SERVICEDESC$ $SERVICESTATE$" }
As you see, there are macros $USER13$
and $USER14$
used. They should contain the hostname of the Unipager and the password, if defined. Define them in the resource.cfg
:
$USER13$=unipager.yourdomain.com $USER14$=VERYSCECRETPASSWORD
Edit contacts.cfg
and add the pager subscriber as set in DAPNET and the notification commands:
define contact{ contact_name dh3wr alias Ralf Wilke service_notifications_enabled 1 host_notifications_enabled 1 service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r host_notification_options d,r service_notification_commands notify-service-by-email,notify-service-by-pager-on-unipager host_notification_commands notify-host-by-email,notify-host-by-pager-on-unipager email spam@myemail.cl pager dh3wr address1 dl-nw address2 123456 }
The address2
entry defines the RIC to send the message to. Remember to add the commands just created.
Either use the template or define at each host and service the contacts you want to notify.
define host{ name generic-host-rwthafu ; The name of this host template notifications_enabled 1 ; Host notifications are enabled event_handler_enabled 1 ; Host event handler is enabled flap_detection_enabled 1 ; Flap detection is enabled failure_prediction_enabled 1 ; Failure prediction is enabled process_perf_data 1 ; Process performance data retain_status_information 1 ; Retain status information across program restarts retain_nonstatus_information 1 ; Retain non-status information across program restarts check_command check-host-alive max_check_attempts 10 notification_interval 0 notification_period 24x7 notification_options d,u,r contacts rwthafu,dh3wr register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE! }