====== Notification to Pager from Nagios via DAPNET-Core ======
By default, Nagios can send emails to registered contact. Fortunately, there is also a contact property names ''pager'' which can be used very conveniently. Two things have to be added to your nagios config in order to receive the Nagios notifications via DAPNET.
If you want to send the notifications directly via [[unipager|UniPager]], use this solution: [[nagiosnotificationunipager|Notification to Pager from Nagios via UniPager]].
===== 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
command_line /usr/bin/curl -H "Content-Type: application/json" -X POST -u $USER12$:$USER13$ -d '{ "text": "NAGIOS $NOTIFICATIONTYPE$: $HOSTNAME$ $HOSTSTATE$", "callSignNames": ["$CONTACTPAGER$"], "transmitterGroupNames": ["$CONTACTADDRESS1$"], "emergency": false }' $USER11$/calls
}
# 'notify-service-by-pager' command definition
define command{
command_name notify-service-by-pager
command_line /usr/bin/curl -H "Content-Type: application/json" -X POST -u $USER12$:$USER13$ -d '{ "text": "NAGIOS $NOTIFICATIONTYPE$: $HOSTNAME$ $SERVICEDESC$ $SERVICESTATE$", "callSignNames": ["$CONTACTPAGER$"], "transmitterGroupNames": ["$CONTACTADDRESS1$"], "emergency": false }' $USER11$/calls
}
===== Define DAPNET API-URL, username and password =====
As you see, there are macros ''$USER11$'' to ''$USER13$'' used. They should contain the API-URL, your DAPNET username and password. Define them in the ''resource.cfg'':
$USER11$=http://dapnet.db0sda.ampr.org:8080
$USER12$=dl1abc
$USER13$=VERYSCECRETPASSWORD
If you don't have HAMNET access to dapnet.db0sda.ampr.org, use ''http://hampager.de/api'' without port (default 80 is right) or use your own DAPNET Core's API.
===== 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
host_notification_commands notify-host-by-email,notify-host-by-pager
email spam@myemail.cl
pager dh3wr
address1 dl-nw
}
The ''pager'' entry defines the subscriber on DAPNET, the ''address1'' defines the transmitter group. Remember to add the commands just created.
{{:icons:warning.png?nolink |}}{{ :icons:warning.png?nolink|}}Attention: In order to minimize traffic on the DAPNET, please select a transmitter group just big enough to fulfill your requirements. Not whole Europe wants to be informed, that you disk space is below 10%.
===== 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!
}
===== Example =====
This is how the result looks like:
{{ :swissphone:swissphone2_300.jpg?direct |}}