<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.28.3">
</HEAD>
<BODY TEXT="#000099" BGCOLOR="#ffffff">
<PRE>
Hi,
Still experiencing the same issue. Does anybody know why Nagios Freezes after executing the eventhandler?
Thanks,
Harald
</PRE>
<BLOCKQUOTE TYPE=CITE>
Hi All,<BR>
<BR>
Need help with an Eventhandler!<BR>
<BR>
After Nagios (successfully) executes the eventhandler, no further checks are done on any host. Nagios is like in a stopped or stalled state. <BR>
<BR>
Here is my config. I actually took it from the manual:<BR>
<BR>
define service {<BR>
host_name blah<BR>
service_description NSCA<BR>
use local_1m<BR>
check_command check_tcp!5667<BR>
event_handler handler_restart_nsca<BR>
event_handler_enabled 1<BR>
register 1<BR>
<BR>
}<BR>
define command {<BR>
command_name handler_restart_nsca<BR>
command_line /usr/share/nagios3/plugins/eventhandlers/restart-nsca $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$<BR>
<BR>
}<BR>
<BR>
<BR>
/usr/share/nagios3/plugins/eventhandlers/restart-nsca<BR>
<BR>
#!/bin/sh<BR>
#<BR>
# Event handler script for restarting the web server on the local machine<BR>
#<BR>
# Note: This script will only restart the web server if the service is<BR>
# retried 3 times (in a "soft" state) or if the web service somehow<BR>
# manages to fall into a "hard" error state.<BR>
#<BR>
<BR>
<BR>
# What state is the NSCA service in?<BR>
case "$1" in<BR>
OK)<BR>
# The service just came back up, so don't do anything...<BR>
;;<BR>
WARNING)<BR>
# We don't really care about warning states, since the service is probably still running...<BR>
;;<BR>
UNKNOWN)<BR>
# We don't know what might be causing an unknown error, so don't do anything...<BR>
;;<BR>
CRITICAL)<BR>
# Aha! The HTTP service appears to have a problem - perhaps we should restart the server...<BR>
<BR>
# Is this a "soft" or a "hard" state?<BR>
case "$2" in<BR>
<BR>
# We're in a "soft" state, meaning that Nagios is in the middle of retrying the<BR>
# check before it turns into a "hard" state and contacts get notified...<BR>
SOFT)<BR>
<BR>
# What check attempt are we on? We don't want to restart the web server on the first<BR>
# check, because it may just be a fluke!<BR>
case "$3" in<BR>
<BR>
# Wait until the check has been tried 3 times before restarting the web server.<BR>
# If the check fails on the 4th time (after we restart the web server), the state<BR>
# type will turn to "hard" and contacts will be notified of the problem.<BR>
# Hopefully this will restart the web server successfully, so the 4th check will<BR>
# result in a "soft" recovery. If that happens no one gets notified because we<BR>
# fixed the problem!<BR>
3)<BR>
echo -n "Restarting NSCA service (3rd soft critical state)..."<BR>
# Call the init script to restart the NSCA server<BR>
/etc/init.d/nsca restart<BR>
;;<BR>
esac<BR>
;;<BR>
<BR>
# The HTTP service somehow managed to turn into a hard error without getting fixed.<BR>
# It should have been restarted by the code above, but for some reason it didn't.<BR>
# Let's give it one last try, shall we? <BR>
# Note: Contacts have already been notified of a problem with the service at this<BR>
# point (unless you disabled notifications for this service)<BR>
HARD)<BR>
echo -n "Restarting HTTP service..."<BR>
# Call the init script to restart the NSCA server<BR>
/etc/init.d/nsca restart<BR>
;;<BR>
esac<BR>
;;<BR>
esac<BR>
exit 0<BR>
<BR>
</BLOCKQUOTE>
</BODY>
</HTML>