<br><font size=2 face="sans-serif">Well the if condition is not the problem
I think, because when I execute it on command line I get exactly the result
I was expecting. For e.g. this is one of the outputs:</font>
<br>
<br><font size=2><tt>OK: 12 Users Online | UsersOnline=12;0;0;</tt></font>
<br>
<br><font size=2 face="sans-serif">Where in fact there were only 12 users
users using that system at that point. As far as permissions are concerned,
I checked them and they all seem to be fine - owned by nagios and 755.</font>
<br>
<br><font size=2 face="sans-serif">--Turi</font>
<br>
<br><font size=2><tt>Lynne.G.Lawrence@uscg.mil wrote on 09/09/2005 08:35:36
AM:<br>
<br>
> Perhaps your initial if statement is failing?  I suggest that
you <br>
> add an else{} clause to the initial if{} regex match; put out some
<br>
> message and exit $ERRORS{UNKNOWN} for no match.  Other than that,
<br>
> maybe check the file permissions to ensure that it is executable by
<br>
> the nagios user.</tt></font>
<br><font size=2><tt>>  </tt></font>
<br><font size=2><tt>> Hope this helps,</tt></font>
<br><font size=2><tt>>  </tt></font>
<br><font size=2><tt>> Lynne Lawrence</tt></font>
<br><font size=2><tt>> QSS/USCG</tt></font>
<br><font size=2><tt>> <br>
> From: nagiosplug-devel-admin@lists.sourceforge.net [mailto:<br>
> nagiosplug-devel-admin@lists.sourceforge.net] On Behalf Of Aditya
Ivaturi<br>
> Sent: Thursday, September 08, 2005 5:08 PM<br>
> To: nagiosplug-devel@lists.sourceforge.net<br>
> Subject: [Nagiosplug-devel] plugin help<br>
</tt></font>
<br><font size=2><tt>> <br>
> This is the first time I am trying to write a plugin for Nagios. So
<br>
> please bear with me. We have an online testing system and I am <br>
> writing a plugin to check how many users are actually taking a test.<br>
> It is a module that is in built in the system and exported via http.<br>
> So all I do is call that page and dump the number out. Nothing <br>
> complicated. The code-block (perl) which dumps out is as follows:
<br>
> <br>
> <br>
> if ($content =~ m/<TD>Student Cache<\/TD><TD>(\d*)<\/TD>/)
{ <br>
>     if ($1>$critical) { <br>
>         if ($verbose) { <br>
>             print "CRITICAL: $1
Users Online > $critical Critical <br>
> Status \t Critical ErrorLev 2 | UsersOnline=$1;0;0;\n"; <br>
>         } <br>
>         else { <br>
>             print "CRITICAL: $1
Users Online | UsersOnline=$1;0;0;\n"; <br>
>         } <br>
>         exit $ERRORS{'CRITICAL'}; <br>
>     } <br>
>     elsif ($1>$warning) { <br>
>         if ($verbose) { <br>
>             print "WARNING: $1
# Users Online > $warning Warning <br>
> Status \t Critical ErrorLev 1 | UsersOnline=$1;0;0;\n"; <br>
>         } <br>
>         else { <br>
>             print "WARNING: $1
Users Online | UsersOnline=$1;0;0;\n";}; <br>
>         exit $ERRORS{'WARNING'}; <br>
>     } <br>
>     else { <br>
>         if ($verbose) { <br>
>             print "OK: $1 Users
Online - Status normal \t Normal <br>
> ErrorLev 0 | UsersOnline=$1;0;0;\n"; <br>
>         } <br>
>         else { <br>
>             print "OK: $1 Users
Online | UsersOnline=$1;0;0;\n"; <br>
>         } <br>
>         exit $ERRORS{'OK'}; <br>
>     } <br>
> } <br>
> <br>
> <br>
> For e.g the output will look like: <br>
> <br>
> OK: 12 Users Online | UsersOnline=12;0;0; <br>
> <br>
> where -w is 150 and -c is 200. But nagios complains by saying "NRPE:<br>
> Unable to read output". Is the format of the output wrong or
am I <br>
> missing any steps? <br>
> <br>
> --Turi <br>
> <br>
> <br>
</tt></font>