Page 2 of 2

Re: Directory monitoring

Posted: Tue Dec 18, 2018 5:43 pm
by gormank
I'm not sure if check_dir is defined as a command on remote hosts but I'm pretty sure it's a standard plugin. The OP might want to see if the check can be defined just from CCM and not touch the remote host. It makes things easier. Here's an example using a random dir. It should warn at 500 files...

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -t 75 -c check_dir -a ' -d /var/www/html/ -w 500'

Re: Directory monitoring

Posted: Tue Dec 18, 2018 5:49 pm
by npolovenko
@donnyforbes, Looks like all .txt files are in a subdirectory.
Please change the command to:
command[check_files]=/usr/local/nagios/libexec/folder_watch.pl -r -f -T 'files' -D /usr/rmca/doc_image/ -F '*.txt' -w 480 -c 500
And restart the nrpe.

Re: Directory monitoring

Posted: Tue Dec 18, 2018 5:59 pm
by donnyforbes
npolovenko wrote:@donnyforbes, Looks like all .txt files are in a subdirectory.
Please change the command to:
command[check_files]=/usr/local/nagios/libexec/folder_watch.pl -r -f -T 'files' -D /usr/rmca/doc_image/ -F '*.txt' -w 480 -c 500
And restart the nrpe.
Perfect this worked great! Now I just need to add into the XI for nagios... Can you direct me on this?

Thanks

Re: Directory monitoring

Posted: Wed Dec 19, 2018 10:01 am
by lmiltchev
Adding a new plugin, command, and service is quite easy in Nagios XI. You can follow the steps, outlined in the document below (skip the steps that you've already done):

https://assets.nagios.com/downloads/nag ... ios-XI.pdf

Re: Directory monitoring

Posted: Wed Dec 19, 2018 10:05 am
by donnyforbes
I have looked at this before, however this does not make since to me. I am not doing a count_down_to_date... I need to add one for the thing I am doing above and not sure how to do this.

Re: Directory monitoring

Posted: Wed Dec 19, 2018 10:22 am
by donnyforbes
Here is what I did.

config name: Proxy4gl.domain.com

description: /user/rmca/doc_image check for txt files

check command: check_nrpe

command view: $USER1$/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$ $ARG2$

$ARG1$: check_files
$ARG2$: -r -f -T 'files' -D /usr/rmca/doc_image/ -F '*.txt' -w 480 -c 500

I tested this from the console and here is the output:
******************************************************************************************************************************

[nagios@nag ~]$ /usr/local/nagios/libexec/check_nrpe -H 192.168.1.12 -t 30 -c check_files -r -f -T 'files' -D /usr/rmca/doc_image/ -F '*.txt' -w 480 -c 500

NRPE Plugin for Nagios
Copyright (c) 1999-2008 Ethan Galstad ([email protected])
Version: 2.15
Last Modified: 09-06-2013
License: GPL v2 with exemptions (-l for more info)
SSL/TLS Available: Anonymous DH Mode, OpenSSL 0.9.6 or higher required

Usage: check_nrpe -H <host> [ -b <bindaddr> ] [-4] [-6] [-n] [-u] [-p <port>] [-t <timeout>] [-c <command>] [-a <arglist...>]

Options:
-n = Do no use SSL
-u = Make socket timeouts return an UNKNOWN state instead of CRITICAL
<host> = The address of the host running the NRPE daemon
<bindaddr> = bind to local address
-4 = user ipv4 only
-6 = user ipv6 only
[port] = The port on which the daemon is running (default=5666)
[timeout] = Number of seconds before connection times out (default=10)
[command] = The name of the command that the remote daemon should run
[arglist] = Optional arguments that should be passed to the command. Multiple
arguments should be separated by a space. If provided, this must be
the last option supplied on the command line.

Note:
This plugin requires that you have the NRPE daemon running on the remote host.
You must also have configured the daemon to associate a specific plugin command
with the [command] option you are specifying here. Upon receipt of the
[command] argument, the NRPE daemon will run the appropriate plugin command and
send the plugin output and return code back to *this* plugin. This allows you
to execute plugins on remote hosts and 'fake' the results to make Nagios think
the plugin is being run locally.
**************************************************************************************************************************************

Any idea what I am doing wrong?

Re: Directory monitoring

Posted: Wed Dec 19, 2018 11:17 am
by donnyforbes
Here is the screenshot of what I did.

Re: Directory monitoring

Posted: Wed Dec 19, 2018 1:41 pm
by lmiltchev
I believe you already "hard-coded" the arguments in your command on the remote box:
command[check_files]=/usr/local/nagios/libexec/folder_watch.pl -r -f -T 'files' -D /usr/rmca/doc_image/ -F '*.txt' -w 480 -c 500
so you don't need to put anything in the $ARG2$ field... You should leave it blank.

Test your command from the command line on the Nagios XI server as such:

Code: Select all

/usr/local/nagios/libexec/check_nrpe -H <remote IP> -c check_files
As an alternative, you could try to pass arguments in XI (as you had it):
$ARG2$: -r -f -T 'files' -D /usr/rmca/doc_image/ -F '*.txt' -w 480 -c 500
but in this case, the check_files command on the remote box needs to be defined as such:

Code: Select all

command[check_files]=/usr/local/nagios/libexec/folder_watch.pl $ARG1$
and NRPE restarted.
In this case, you would test your check in Nagios XI by running:

Code: Select all

/usr/local/nagios/libexec/check_nrpe -H <remote IP> -c check_files -a "-r -f -T 'files' -D /usr/rmca/doc_image/ -F '*.txt' -w 480 -c 500"
NRPE syntax:

Code: Select all

./check_nrpe -H <ip address> -c <command> -a <arguments>
Note: Sometimes, it is easier to hard-code arguments as passing them in Nagios XI could fail because of escaping issues. You need to test both scenarios and see which one works for you.

Hope this helps.

Re: Directory monitoring

Posted: Wed Dec 19, 2018 1:55 pm
by donnyforbes
Ok I removed $ARG2$ and then it seemed to work. Just to clarify --- With what I added and did this will notify me if there is more then 500
TXT files correct? Just want to verify this..

Just tested everything and it works : )

Thanks for all your help.

Re: Directory monitoring

Posted: Wed Dec 19, 2018 3:48 pm
by lmiltchev
With what I added and did this will notify me if there is more then 500
TXT files correct? Just want to verify this..
Yes, you should get a WARNING if the number of files is greater than 480, and CRITICAL if the number of files is greater than 500.

Let us know if you have any further questions or it's ok to lock this topic. Thanks!