Page 1 of 2

Seperate service notifications

Posted: Mon Jul 07, 2014 10:22 am
by JohnFLi
Hello, I'm rather new to Nagios, I have seen it run, and used it before, but never managed it.

Anyway, I have a few machines that only need to be checked they are still alive. For these machines, if they don't respond (appear dead) I want a single person to be notified.
I created a Host Group called Ping_Only for these machines and have the check_Ping service pointing at that group.

but in testing, the people that are listed as contacts for the Ping service are notified, and not the person that is assigned to the machine.

Is there a way to have nagios send notifications to the Host Contact instead of the service contact??

Re: Seperate service notifications

Posted: Mon Jul 07, 2014 11:50 am
by eloyd
You can change the notification command to use the notify-host-by-email (or whatever it's called on your system) instead of the service-notify-by-email command, but you'd have to change the formatting to service-specific things instead of host-specific things.

Why not just change the contact(s) on the service(s) to be the same as on the host(s)?

Re: Seperate service notifications

Posted: Mon Jul 07, 2014 12:14 pm
by JohnFLi
Why not just change the contact(s) on the service(s) to be the same as on the host(s)?
On Server A (for example), if the C Drive is getting to full, Bob needs to be notified.
On Server B, if the C Drive gets full, Frank needs to get notified., and for the sake of having fun, notify frank every minute. (he gets distracted easy)

notify-host-by-email
Ahhhhhhh, I thought that was just for if the HOST machine was down.

So using my example above, if I understand correctly, if I set the C Drive check to:

Code: Select all

check_period                   	24x7
	event_handler                  	notify-host-by-email
	notification_interval          	5
	notification_period            	24x7
	notification_options           	w,c,r
	notifications_enabled          	1
	contacts                       	Server_Alerts
	contact_groups                 	TEXT_GROUP
the host config

Code: Select all

active_checks_enabled          	1
	check_period                   	Customer-Service-Normal-Hours
	contacts                       	Frank
	notification_interval          	60
It will only send notifications to Frank that is set as the contact for that Host



while if I have it set as:

Code: Select all

check_period                   	24x7
	event_handler                  	notify-service-by-email
	notification_interval          	5
	notification_period            	24x7
	notification_options           	w,c,r
	notifications_enabled          	1
	contacts                       	Server_Alerts
	contact_groups                 	TEXT_GROUP
It will send the notifications to Server-Alerts and TEXT_GROUP that is set as the contact for just that service.

Re: Seperate service notifications

Posted: Mon Jul 07, 2014 12:23 pm
by eloyd
Yes, but remember to look at the commands.cfg definition for those notify commands. They send different things (one is expecting to tell people about a host and one about a service).

Re: Seperate service notifications

Posted: Mon Jul 07, 2014 12:31 pm
by JohnFLi
I don't see anything special. Or am I not understanding what you are asking me to check in the commands.cfg file

Code: Select all

# 'notify-host-by-email' command definition
define command{
	command_name	notify-host-by-email
	command_line	/usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
	}

# 'notify-service-by-email' command definition
define command{
	command_name	notify-service-by-email
	command_line	/usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
	}

Re: Seperate service notifications

Posted: Mon Jul 07, 2014 12:40 pm
by eloyd
notify-host-by-email sends information that includes:
Host: $HOSTNAME$\nState: $HOSTSTATE$\n
notify-service-by-email sends:
Service: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$
The host notification command doesn't send any service-related information because it's not designed to. So if you use this approach, you may want to just create a third command and copy "notify-service-by-email" to "notify-service-by-email-use-host-contact" and use that for the notification command so that it will use the host contact instead of the service contact.

Re: Seperate service notifications

Posted: Mon Jul 07, 2014 12:53 pm
by JohnFLi
I think I understand what your saying. I will test things out and see what happens. Thank you

Re: Seperate service notifications

Posted: Mon Jul 07, 2014 1:05 pm
by eloyd
Good luck. I've been using Nagios for 14 years, so I sometimes forget some of the "more basic" stuff. Let me know if there's anything I glossed over that you need more help with.

Re: Seperate service notifications

Posted: Tue Jul 08, 2014 10:54 am
by JohnFLi
well, I tried the option you suggested and that didn't really seem to make an difference, perhaps I didn't do it correctly.

But what I did, and this works (I suppose lol)

The from individual services, service templates, host templates, I remove the contact info. (Granted Nagios doesn't like that, but it deals with it)
Then for the Host config, I put the 'owner' for that server as the contact. that way that person gets notified with anything that is up with that server.

My next plan is to setup an escalation so that if Frank (or anybody else) is being too lazy to fix or acknowledge an issue, then a group of people will get notified, then after a bit another group with get notified.

At least that is what I want to do.

Re: Seperate service notifications

Posted: Tue Jul 08, 2014 10:59 am
by eloyd
Well that's what escalations are for, so you're on track with that. If you want to try to do more with the other issue(s), PM me and we'll talk offline.