Ok.  I can answer more thoroughly when I get to work Monday and
can look at my config files there, but this may help for now...<br>
<br>
First, unless you have a specific need for it, I would disallow "nasty metacharacters."  They can, indeed, be nasty. :)<br>
Second, for the space in "Program Files", put quotes around the entire
path and filename.  I believe you should use doublequotes, but I'm
not sure.  I will check this on Monday.<br>Try:<br>
../libexec/check_nrpe -H catorsv03 -c check_exchangeDB -a MaxWarn=15G
MaxCrit=16G File="d:\Program Files\Exchsrvr\MDBDATA\priv1.stm"
File="d:\Program Files\Exchsrvr\MDBDATA\priv1.edb"<br>
<br>
Third, you should probably comment out everything in the NSClient section of the config file unless you are using check_nt.<br>
<br>
Again, I'll post more tomorrow after trying a few things myself in my test environment at work.<br>
<br>
Shawn Kovalchick<br><div><span class="gmail_quote">On 4/22/06, <b class="gmail_sendername">Toto Capuccino</b> <<a href="mailto:shoktai@gmail.com">shoktai@gmail.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style="direction: ltr;">Hi Shawn,<br><br>On the first hand i get errors related to ncsclient itself :<br><br>The error on the monitored host is :<br>Event Source:    NRPE_NT<br>Description:<br>NRPE_NT:  Error: Request contained illegal metachars!
<br><br>The error on NSC.log is 2006-04-22 12:35:59: error:../../include\Socket.h:443: bind failed: 10048<br><br>When i look to netstat i get (i kept the most relevant lines):<br>  TCP    <a href="http://0.0.0.0:5666" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
0.0.0.0:5666
</a>           <a href="http://0.0.0.0:0" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">0.0.0.0:0</a>             
LISTENING       6896<br> [NRPE_NT.exe]  <br>TCP    <a href="http://0.0.0.0:12489" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">0.0.0.0:12489</a>          <a href="http://0.0.0.0:0" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
0.0.0.0:0</a>             
LISTENING       14168
<br>  [NSClient++.exe]<br>  TCP    <a href="http://0.0.0.0:1248" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">0.0.0.0:1248</a>           <a href="http://0.0.0.0:0" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
0.0.0.0:0</a>             
LISTENING       1052<br>  [pNSClient.exe]<br><br>So i have NRPE_NT and nsclient (not ++) installed, is there's a conflict with nsclient++ ?
<br><br><br>On the second hand i get errors related to the check_command:<br><br>The error on the monitored host is :<br>
Event Source:    NRPE_NT<br>
Description:<br>
NRPE_NT:  Error: Request contained illegal metachars!<br><br>When
i try nsclient++ /test, the first error i notice is that it doesnt
handle the space in the path of the files ( Program Files) -->
File=d:\Program</div><div style="direction: ltr;"><span class="q"><br>Files\Exchsrvr\MDBDATA\priv1
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">.stm File=d:\Program<br>Files\Exchsrvr\MDBDATA\priv1.edb</blockquote></span></div><div style="direction: ltr;">
<div><br>I tried both 'Program Files' and "Program Files" but it doesnt work.
<br></div><br>From the command line on the nagios server i try like this :<br> ../libexec/check_nrpe
-H catorsv03 -c check_exchangeDB -a MaxWarn=15G MaxCrit=16G
File=d:\'Program Files'\Exchsrvr\MDBDATA\priv1.stm File=d:\'Program Files'\Exchsrvr\MDBDATA\priv1.edb'
<br>CHECK_NRPE: Received 0 bytes from daemon.  Check the remote server logs for error messages.<br><br>Here is the NSC.ini file :<br>[modules]<br>;# NSCLIENT++ MODULES<br>;# A list with DLLs to load at startup.<br>;  You will need to enable some of these for NSClient++ to work.
<br>; ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !<br>;
*                                                               *<br>; * N O T I C E ! ! ! - Y O U   H A V E   T O   E D I T   T H I S *<br>;
*                                                               *
<br>; ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !<br>FileLogger.dll<br>;CheckSystem.dll<br>CheckDisk.dll<br>NSClientListener.dll<br>NRPEListener.dll<br>;SysTray.dll<br>;CheckEventLog.dll<br>;CheckHelpers.dll
<br>;<br>; CheckWMI IS AN EXTREM EARLY IDEA SO DONT USE FOR PRODUCTION ENVIROMNEMTS!<br>;CheckWMI.dll<br>;<br>; RemoteConfiguration IS AN EXTREM EARLY IDEA SO DONT USE FOR PRODUCTION ENVIROMNEMTS!<br>;RemoteConfiguration.dll
<br><br>[Settings]<br>;# OBFUSCATED PASSWORD<br>;  This is the same as the password option but here you can store the password in an obfuscated manner.<br>;  *NOTICE* obfuscation is *NOT* the same as encryption, someone with access to this file can still figure out the 
<br>;  password. Its just a bit harder to do it at first glance.<br>;obfuscated_password=Jw0KAUUdXlAAUwASDAAB<br>;<br>;# PASSWORD<br>; 
This is the password (-s) that is required to access NSClient remotely.
If you leave this blank everyone will be able to access the daemon
remotly.
<br>;password=martin<br>;<br>;# ALLOWED HOST ADDRESSES<br>;  This is a comma-delimited list of IP address of hosts that are allowed to talk to the all daemons.<br>;  If leave this blank anyone can access the deamon remotly (NSClient still requires a valid password).
<br>allowed_hosts=<a href="http://10.1.1.13" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">10.1.1.13</a><br>;<br>;# USE THIS FILE<br>;  Use the INI file as opposed to the registry if this is 0 and the use_reg in the registry is set to 1 
<br>;  the registry will be used instead.
<br>use_file=1<br><br>[log]<br>;# LOG DEBUG<br>;  Set to 1 if you
want debug message printed in the log file (debug messages are always
printed to stdout when run with -test)<br>debug=1<br>;<br>;# LOG FILE<br>;  The file to print log statements to
<br>file=c:\nsclient-plus-plus\NSC.log<br>;<br>;# LOG DATE MASK<br>;  The format to for the date/time part of the log entry written to file.<br>;date_mask=%Y-%m-%d %H:%M:%S<br><br><br>[NSClient]<br>;# ALLOWED HOST ADDRESSES
<br>;  This is a comma-delimited list of IP address of hosts that are allowed to talk to NSClient deamon.<br>;  If you leave this blank the global version will be used instead.<br>allowed_hosts=<a href="http://10.1.1.13" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

10.1.1.13</a><br>;<br>;# NSCLIENT PORT NUMBER<br>;  This is the port the NSClientListener.dll will listen to.<br>port=12489<br>;<br>;# BIND TO ADDRESS<br>;  Allows you to bind server to a specific local address. This has to be a dotted ip adress not a hostname.
<br>;  Leaving this blank will bind to all avalible IP adresses.<br>;bind_to_address=<br><br><br>[Check System]<br>;# CPU BUFFER SIZE<br>;  Can be anything ranging from 1s (for 1 second) to 10w for 10 weeks. Notice that a larger buffer will waste memory 
<br>;  so don't use a larger buffer then you need (ie. the longest check you do +1).<br>;CPUBufferSize=1h<br>;<br>;# CHECK RESOLUTION<br>;  The resolution to check values (currently only CPU).<br>;  The value is entered in 1/10:th of a second and the default is 10 (which means ones every second)
<br>;CheckResolution=10<br><br>[NRPE]<br>;# NRPE PORT NUMBER<br>;  This is the port the NRPEListener.dll will listen to.<br>port=5666<br>;<br>;# COMMAND TIMEOUT<br>; 
This specifies the maximum number of seconds that the NRPE daemon will
allow plug-ins to finish executing before killing them off.
<br>;command_timeout=60<br>;<br>;# COMMAND ARGUMENT PROCESSING<br>; 
This option determines whether or not the NRPE daemon will allow
clients to specify arguments to commands that are executed.<br>allow_arguments=1<br>;<br>
;# COMMAND ALLOW NASTY META CHARS<br>; 
This option determines whether or not the NRPE daemon will allow
clients to specify nasty (as in |`&><'"\[]{}) characters in
arguments.<br>allow_nasty_meta_chars=1<br>
;<br>;# USE SSL SOCKET<br>;  This option controls if SSL should be used on the socket.<br>;use_ssl=1<br>;<br>;# BIND TO ADDRESS<br>;  Allows you to bind server to a specific local address. This has to be a dotted ip adress not a hostname.
<br>;  Leaving this blank will bind to all avalible IP adresses.<br>; bind_to_address=<br>;<br>;# ALLOWED HOST ADDRESSES<br>;  This is a comma-delimited list of IP address of hosts that are allowed to talk to NRPE deamon.
<br>;  If you leave this blank the global version will be used instead.<br>;allowed_hosts=<br><br><br>[NRPE Handlers]<br>check_exchangeDB=inject CheckFileSize MaxWarn=15G MaxCrit=16G File='d:\Program Files\Exchsrvr\MDBDATA\priv1.stm' File='d:\Program Files\Exchsrvr\MDBDATA\priv1.edb'
<br><br>;# COMMAND DEFINITIONS<br>;# Command definitions that this daemon will run.<br>;# Can be either NRPE syntax:<br>;command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10<br>;# Or simplified syntax:<br>

;test=c:\test.bat foo $ARG1$ bar<br>;check_disk1=/usr/local/nagios/libexec/check_disk -w 5 -c 10<br>;# Or even loopback (inject) syntax (to run internal commands)<br>;# This is a way to run "NSClient" commands and other internal module commands such as check eventlog etc.
<br>;check_cpu=inject checkCPU warn=80 crit=90 5 10 15<br>;check_eventlog=inject
CheckEventLog Application warn.require.eventType=error
warn.require.eventType=warning critical.require.eventType=error critical.exclude.eventType=info
 truncate=1024 descriptions<br>;check_disk_c=inject CheckFileSize ShowAll MaxWarn=1024M MaxCrit=4096M File:WIN=c:\ATI\*.*<br>;# But be careful:<br>; dont_check=inject dont_check This will "loop forever" so be careful with the inject command...
<br>;# Check some escapings...<br>; check_escape=inject CheckFileSize ShowAll MaxWarn=1024M MaxCrit=4096M "File: foo \" WIN=c:\\WINDOWS\\*.*"<br><br>
</div></blockquote></div><br>