====== Notification to Pager from Nagios via UniPager ======
There is a possibility to send notification to a pager via the DAPNET-Core. Look [[nagiosnotification|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.
FIXME UNTESTED
===== Installation =====
Get the python script from [[https://github.com/dh3wr/UniPager-SendWebsocket|https://github.com/dh3wr/UniPager-SendWebsocket]]. Copy the file ''unipager_send.py'' to ''/usr/local/bin'' or whereever you want it to be.
===== Define commands to send paging calls =====
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$"
}
===== Define UniPager hostname and password =====
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
===== Setup contacts =====
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.
===== Assign the contact to the host or service =====
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!
}