|
Greetings: I am using Nagios to monitor a host. If the host looses connectivity, I want Nagios to execute an event handler. The host definition contains a defined event_handler directive. The host inherits from generic-host and; therefore, event_handler_enabled is 1. In my main configuration file event handling is enabled. The associated command configuration file has also been defined. While troubleshooting I tried the following as root: su nagios./test-handler [and my args here of course]The output is correct as user nagios. However, the nagios binary that runs under user nagios will not execute the script. Here is a bit of my nagios.log file: [1273208210] HOST ALERT: vXP;DOWN;SOFT;2;CRITICAL - Host Unreachable (192.168.0.21) [1273208210] HOST EVENT HANDLER: vXP;(null);(null);(null);test-handler!$HOSTADDRESS$ [1273208212] EXTERNAL COMMAND: SCHEDULE_FORCED_HOST_CHECK;vXP;1273208211 [1273208220] HOST ALERT: vXP;UP;SOFT;3;PING OK - Packet loss = 0%, RTA = 35.37 ms [1273208220] HOST EVENT HANDLER: vXP;(null);(null);(null);test-handler!$HOSTADDRESS$ According to the output, nagios appears to be running my command; however, based on the output it is actually doing nothing at all. I know that whatever I'm missing is probably very simple (and knowing me; it's right under my nose), but I'm at a loss. Any takers? |
Is your command a shell script? Do you make assumptions in said script about what your environment looks like? Specifically, do you rely on $PATH to find your programs? I don't know for sure how nagios does it but if it runs the script with a clean environment then that would be a definite difference between running it yourself and letting nagios run it.