<div class="gmail_quote">On Thu, Mar 11, 2010 at 4:07 PM,  <span dir="ltr"><<a href="mailto:nigel.leach@uk.bnpparibas.com">nigel.leach@uk.bnpparibas.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<br><font size="2" face="sans-serif">RHEL AS4 U6</font>
<br><font size="2" face="sans-serif">Nagios        v3.2.0
</font>
<br><font size="2" face="sans-serif">check_snmp v1.4.14</font>
<br>
<br><font size="2" face="sans-serif">A small and annoying problem, that I'm
hoping will have some whizzy easy fix.</font>
<br>
<br><font size="2" face="sans-serif">I use check_snmp to get the location
and contact details of my servers. Something like this</font>
<br>
<br><font size="2" face="sans-serif">        ./check_snmp
-H localhost -o sysLocation.0 -l ""</font>
<br><font size="2" face="sans-serif">        OK
- London XX YYY</font>
<br>
<br><font size="2" face="sans-serif">This, of course, assumes snmpd.comf
has been populated correctly. If it hasn't I get something like this</font>
<br>
<br><font size="2" face="sans-serif">        ./check_snmp
-H localhost -o sysLocation.0 -l ""</font>
<br><font size="2" face="sans-serif">         OK
- Unknown (edit /etc/snmp/snmpd.conf) |</font>
<br>
<br><font size="2" face="sans-serif">I'd like this to produce a warning,
and thought I could achieve this with a regular expression, but haven't
been able to yet. Is there any way I can invert a regex, or use thresholds
to force a NOTOK status.</font>
<br></blockquote><div><br></div><div>I tried creating an inverted regex to use in the --ereg parameter to check_snmp, but wasn't able to get a negative lookahead working, which is how I usually create these kinds of inverted regexps. check_snmp kept complaining it couldn't parse the regex, so I guess the regex support may be limited - or I might just be letting bash interfere with my arguments due to the late hour ;-)</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br><font size="2" face="sans-serif">This doesn't work</font>
<br>
<br><font size="2" face="sans-serif">        ./check_snmp
-H localhost -o sysLocation.0 -l "" -r "!etc"</font>
<br><font size="2" face="sans-serif">        -bash:
!etc: event not found</font>
<br>
<br><font size="2" face="sans-serif">Not urgent, but any help much appreciated.</font>
<br></blockquote><div><br></div><div>In keeping with the KISS principle, I suggest a quick wrapper script for your location check. Any other solution would require you to use a separate check_command in Nagios anyway, so it might just be simpler to go the easy route here.</div>
<div><br></div><div>Nagios itself does not care about the text output from plugins, only the exit code, so you could have a wrapper script return warning for locations that contain the string Unknown by simply doing this:</div>
<div><br></div><div><div>RESULT=`/replace/with/variable/check_snmp -H $1 -o sysLocation.0 -l ""`</div><div>echo $RESULT </div></div><div><div>if [[ $RESULT =~ "Unknown" ]]; then</div><div>        exit 1  </div>
<div>fi</div><div>exit 0</div><div><br></div><div>Of course, you could make the text output make more sense with sed et. al., but Nagios itself is happy with the above.</div><div><br></div><div>HTH,</div><div><br></div><div>
-- </div></div></div>Martin Melin<br><br>May your delusions be benign and your compulsions have utility<br>____________________________<br>op5 AB<br><a href="http://www.op5.com">http://www.op5.com</a><br><br><a href="http://www.op5.org/">http://www.op5.org/</a><br>
<a href="http://www.op5.com/op5/products/network-monitor/nagios/">http://www.op5.com/op5/products/network-monitor/nagios/</a> <br>