Nagios send trap event handler question

Winkles, William (Bill) billwinkles at lucent.com
Wed Nov 3 22:01:31 CET 2004


Can anyone explain to me how I would setup an event handler to send a trap
when a service hits a hard state?

Currently I have added this to my services.cfg file under the service
definition I want to trap on:

event_handler                   send-trap


I am not sure where to set up send-trap now.  I have added this to my
checkcommands.cfg file as:

# 'send-trap' command definition
define command{
	command_name	send-trap
 	command_line	/usr/local/bin/snmptrap  -v 1 -c public
192.234.243.145 1.3.6.1.4.1.3224 $HOSTADDRESS$ 6
 17 ''
 	}

And also tried this:


# 'send-trap' command definition
define command{
	command_name	send-trap
 	command_line	$USER1$/send-trap $HOSTADDRESS$
 	}

Where send-trap is a modified version of the example event handler script
from the nagios docs:


#!/bin/sh
#
# Event handler script for sending a trap
#
# 
#


# What state is the service in?
case "$1" in
OK)
	# The service just came back up, so don't do anything...
	;;
WARNING)
	# We don't really care about warning states, since the service is
probably still running...
	;;
UNKNOWN)
	# We don't know what might be causing an unknown error, so don't do
anything...
	;;
CRITICAL)
	# Aha!  The service appears to have a problem - perhaps we should
send a trap...

	# Is this a "soft" or a "hard" state?
	case "$2" in
		
	# We're in a "soft" state, meaning that Nagios is in the middle of
retrying the
	# check before it turns into a "hard" state and contacts get
notified...
	SOFT)
			
		# What check attempt are we on?  We don't want to restart
the web server on the first
		# check, because it may just be a fluke!
		case "$3" in
				
		# Wait until the check has been tried 3 times before sending
the trap.
		# If the check fails on the 4th time (after we restart the
web server), the state
		# type will turn to "hard" and contacts will be notified of
the problem.
		# Hopefully this will restart the web server successfully,
so the 4th check will
		# result in a "soft" recovery.  If that happens no one gets
notified because we
		# fixed the problem!
		3)
			echo -n "Sending a Trap (3rd soft critical
state)..."
			# Call the script to send a trap
                        /usr/local/bin/snmptrap -v 1 -c public
192.234.243.145 1.3.6.1.4.1.3224 $HOSTADDRESS$ 6 17 ''
			;;
			esac
		;;
				
	
		echo -n "Sending Trap..."
		# Call the script to send a trap
		/usr/local/bin/snmptrap -v 1 -c public 192.234.243.145
1.3.6.1.4.1.3224 $HOSTADDRESS$ 6 17 ''
		;;
		;;
	esac
	;;
esac
exit 0


The only thing I get from the nagios.log file is:

[1099515319] SERVICE EVENT HANDLER: Demo;E1_Interface_State;WARNING;
HARD;1;send-trap

No trap is sent.

Any ideas what am I missing here?

Thanks.

Bill




-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click




More information about the Developers mailing list