<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000099">
I setup the "check_logs.pl"
(<a class="moz-txt-link-freetext" href="http://www.nagiosexchange.org/cgi-bin/page.cgi?g=Detailed%2F1752.html;d=1">http://www.nagiosexchange.org/cgi-bin/page.cgi?g=Detailed%2F1752.html;d=1</a>)
test and its config file on some local Linux servers tested via NRPE.
All other NRPE tests work fine (including some custom ones). The
check_logs.pl works fine locally, but fails over NRPE. I've enabled
debugging in NRPE, but its not telling me much more...<br>
<br>
Client local test:<br>
<br>
<blockquote>atum:/etc/init.d # /usr/local/nagios/libexec/check_logs.pl
-c /etc/nagios/check_logs_linux.cfg <br>
faillog => OK; lastlog => OK; messages => OK; wtmp => OK;<br>
</blockquote>
<br>
Server test to client via NRPE:<br>
<br>
<blockquote>/usr/local/nagios/libexec/check_nrpe -H atum -c check_logs<br>
CHECK_NRPE: No output returned from daemon.<br>
</blockquote>
<br>
Local log (/var/log/messages) on client when test is run from server:<br>
<br>
<blockquote>Apr  1 18:05:52 atum nrpe[1412]: Added
command[check_logs]=/usr/local/nagios/libexec/check_logs.pl -c
/etc/nagios/check_logs_linux.cfg <br>
Apr  1 18:05:52 atum nrpe[1412]: INFO: SSL/TLS initialized. All network
traffic will be encrypted.<br>
Apr  1 18:05:52 atum nrpe[1412]: Handling the connection...<br>
Apr  1 18:05:52 atum nrpe[1412]: Host is asking for command
'check_logs' to be run...<br>
Apr  1 18:05:52 atum nrpe[1412]: Running command:
/usr/local/nagios/libexec/check_logs.pl -c
/etc/nagios/check_logs_linux.cfg<br>
Apr  1 18:05:52 atum nrpe[1412]: Command completed with return code 0
and output:  <br>
Apr  1 18:05:52 atum nrpe[1412]: Return Code: 0, Output:<br>
</blockquote>
<br>
The response is immediate, so its not a timeout issue. Other NRPE tests
work fine:<br>
<br>
<blockquote>/usr/local/nagios/libexec/check_nrpe -H atum -c check_load<br>
OK - load average: 0.00, 0.00, 0.00|load1=0.000;5.000;10.000;0;
load5=0.000;5.000;10.000;0; load15=0.000;5.000;10.000;0; <br>
/usr/local/nagios/libexec/check_nrpe -H atum -c check_memory<br>
CHECK_MEMORY OK - 1702M free |
free=1785552896b;210236620.8:;105118310.4:<br>
</blockquote>
<br>
And on the client:<br>
<br>
<blockquote>Apr  1 18:09:25 atum nrpe[1799]: INFO: SSL/TLS initialized.
All network traffic will be encrypted.<br>
Apr  1 18:09:25 atum nrpe[1799]: Handling the connection...<br>
Apr  1 18:09:25 atum nrpe[1799]: Host is asking for command
'check_load' to be run...<br>
Apr  1 18:09:25 atum nrpe[1799]: Running command:
/usr/local/nagios/libexec/check_load -r -w 5.0 -c 10.0<br>
Apr  1 18:09:25 atum nrpe[1799]: Command completed with return code 0
and output: OK - load average: 0.00, 0.00,
0.00|load1=0.000;5.000;10.000;0; load5=0.000;5.000;10.000;0;
load15=0.000;5.000;10.000;0;  <br>
Apr  1 18:09:25 atum nrpe[1799]: Return Code: 0, Output: OK - load
average: 0.00, 0.00, 0.00|load1=0.000;5.000;10.000;0;
load5=0.000;5.000;10.000;0; load15=0.000;5.000;10.000;0; <br>
Apr  1 18:09:26 atum nrpe[1802]: INFO: SSL/TLS initialized. All network
traffic will be encrypted.<br>
Apr  1 18:09:26 atum nrpe[1802]: Handling the connection...<br>
Apr  1 18:09:26 atum nrpe[1802]: Host is asking for command
'check_memory' to be run...<br>
Apr  1 18:09:26 atum nrpe[1802]: Running command:
/usr/local/nagios/libexec/check_memory.pl -w 10% -c 5%<br>
Apr  1 18:09:26 atum nrpe[1802]: Command completed with return code 0
and output: CHECK_MEMORY OK - 1703M free |
free=1786134528b;210236620.8:;105118310.4: <br>
Apr  1 18:09:26 atum nrpe[1802]: Return Code: 0, Output: CHECK_MEMORY
OK - 1703M free | free=1786134528b;210236620.8:;105118310.4:<br>
</blockquote>
<br>
Here's the local command in my /etc/nagios/nrpe.cfg:<br>
<br>
<blockquote>command[check_logs]=/usr/local/nagios/libexec/check_logs.pl
-c /etc/nagios/check_logs_linux.cfg<br>
</blockquote>
<br>
And on the server (when done in services.cfg, though its failing with
manual tests too):<br>
<br>
<blockquote>define service {<br>
        hostgroup_name                  linux-servers<br>
        service_description             LOGS<br>
        check_command                   check_nrpe!check_logs<br>
        max_check_attempts              3<br>
        normal_check_interval           15<br>
        retry_check_interval            5<br>
        check_period                    24x7<br>
        notification_interval           120<br>
        notification_period             24x7<br>
        notification_options            w, u, c, r, f, s<br>
        contact_groups                  unixadmins<br>
}<br>
</blockquote>
<br>
<br>
Considering it fails with a manual test (command line), I doubt its my
services.cfg entry. It runs fine when called locally, so I'm thinking
it could be an issue on the client in the nrpe.cfg, but if so I can't
find it...<br>
<br>
I *do* see the obvious... namely, the other two tests that run over
NRPE have something after "Output:" and the check_logs.pl does not.
However, called at the command line it does... which is what stumps me.<br>
<br>
What would cause the test to run fine locally, but return nothing when
called via NRPE??? (BTW: I'm running 3.x with the latest set of plugins
and NRPE).<br>
<br>
One more thing: I know *someone* is going to ask why I don't just use
the built-in check_log test. The answer is that check_logs.pl allows
for multiple files and pattern matches and a "seek" file to speed
things up.<br>
<pre class="moz-signature" cols="72">-- 


  A. Davis
  Email:     <a class="moz-txt-link-abbreviated" href="mailto:nccomp@gmail.com">nccomp@gmail.com</a>

  "There is no limit to what a man can accomplish
   if he doesn't care who gets the credit." - Ronald Reagan
</pre>
</body>
</html>