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? asked 07 May '10, 05:08 micheal |
Was your issue ever solved? I have a similar issue with Nagios. Here is my command definition: define command{
and service definition define service{
/bin/bash /usr/local/nagios/libexec/nagios-msg-broker.sh runs fine manually. Service defined above can’t run it though. Here are the ownership/permissions of the script: perfserver-10:/usr/local/nagios/libexec$ ls -l nagios-msg-broker.sh -rwxrwxrwx 1 nagios nagcmd 149 Mar 30 10:04 nagios-msg-broker.sh Thanks. answered 30 Mar '12, 13:57 lesman |
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.