Hi @ sac1472,
I will try to help you with both issues.
1) Disk I/O read, write latency in one check should raise alert if any latency time exceeds given thresholds.
The check_esx3.pl plugin is not designed to work with passing two sub-commands at the same time, e.g. "-s read -s write", "-s read,write", etc. However, you could still set up one check for both (read and write) via check_multi:
https://exchange.nagios.org/directory/P ... ti/details
You could set up a simple config in the libexec directory, e.g. "multi.cfg", something like this:
Code: Select all
command [ IO_read ] = check_esx3.pl -D <ip address> -f /path/to/the/auth.txt -l IO -s read -w <warning value> -c <critical value>
command [ IO_write ] = check_esx3.pl -D <ip address> -f /path/to/the/auth.txt -l IO -s write -w <warning value> -c <critical value>
Then, you could run:
Code: Select all
/usr/local/nagios/libexec/check_multi -f multi.cfg
Example:
Code: Select all
[nagios@main-nagios-xi libexec]$ ./check_multi -f multi.cfg
CRITICAL - 2 plugins checked, 1 critical (IO_write), 1 ok
[ 1] IO_read CHECK_ESX3.PL OK - io read latency=0 ms
[ 2] IO_write CHECK_ESX3.PL CRITICAL - io write latency=8 ms |check_multi::check_multi::plugins=2 time=1.771847 IO_read::check_esx3.pl::io_read=0ms;;1 IO_write::check_esx3.pl::io_write=8ms;;1
If you are unsure of how to set up your service check after you tested the plugin from the command line, please follow the steps, outlined in the document below:
https://assets.nagios.com/downloads/nag ... ios-XI.pdf
2) Runtime with health/issues subcommand - should generate an critical alert if there is any health issue/config issue detected rather showing UNKNOWN/ OK
Are you saying that you are seeing errors in the output, however you are still getting an OK state? UNKNOWN errors are usually caused by mis-configuration...
It is possible that you are receiving an "OK", because (according to the output you shown us) you have "1 health issue(s)", and your critical threshold is "-c 1". So, you haven't exceeded the critical threshold, and the exit code must be "0". Can you run your command a few times with different threshold (and without passing any thresholds), and show the exit code? I just want to make sure that the plugin exits with the correct codes for you.
Examples:
Code: Select all
./check_esx3.pl.newest -D xxx -f /tmp/VC6 -H xxx -l runtime
echo $?
./check_esx3.pl.newest -D xxx -f /tmp/VC6 -H xxx -l runtime -c 1
echo $?
./check_esx3.pl.newest -D xxx -f /tmp/VC6 -H xxx -l runtime -c 0
echo $?