<p dir="ltr"><br>
On 29 Aug 2013 02:46, "Mark Campbell" <<a href="mailto:mcc171@psu.edu">mcc171@psu.edu</a>> wrote:<br>
><br>
> So I need to utilize some logic in my service checks.<br>
><br>
> I have a chiller that if it is not running the discharge temp is not of<br>
> concern.  However if it is running the discharge temp needs to be lower<br>
> than 50 degrees.<br>
><br>
> Is there a way to have the check snmp utilize some logic that says if<br>
> running = 0 then ignore discharge temp.  If running = 1 then discharge<br>
> temp must be <50 degrees?<br></p>
<p dir="ltr">Yes, I did something similar recently where I wanted to check for existence of an orphaned file only if ftp failed on another server.</p>
<p dir="ltr">The command definition looked like this:</p>
<p dir="ltr">define command {<br>
  command_name check-for-orphan<br>
  command_line   if $USER1$/check_ftp -H $ARG1$ $ARG2$ $USER10$ then $USER1$/check_multi -s $HOSTADDRESS$ $ARG3$ $USER10$ else exit 0 $USER10$ fi<br>
  register 1<br>
}</p>
<p dir="ltr">Obviously you won't be using check_ftp and check_multi (probably check_snmp or your own custom plugins instead) but hopefully you can see now how you can do something similar to run the second check only if the first returns an ok state (I'm presuming your first check will return an ok state if running=1 and the second returns ok if temperature < 50 degrees).</p>

<p dir="ltr">Where you see $USER10$ here, that refers to a macro in your /usr/local/nagios/etc/resource.cfg file that gives you a semi-colon like so:</p>
<p dir="ltr">$USER10$=;</p>
<p dir="ltr">It's a bit of a kludge to allow you to have a multi-line command in a Nagios command definition.</p>
<p dir="ltr">Note that during the time that the first check returns a non-ok state, the service check will be in an OK state (the exit 0) but will have null output.  I guess you could put another line with echo "something" in there if you want it to say something meaningful.</p>

<p dir="ltr">I hope that makes some sense...</p>
<p dir="ltr">By the way, please don't blame me if this method breaks in some future version of Nagios - I'm using 3.3.1 on this one.</p>
<p dir="ltr">Cheers,</p>
<p dir="ltr">Jim</p>