SKuntzelman
Contributor
Contributor

I had the same problem ( CHECK_ESX CRITICAL - Server version unavailable ), and I spent a lot of time searching.  Most of the suggestions were to set the environment variable to tell the IO::Socket::SSL to not check the self-signed certificate (adding the following line near the top of the check_esx script):

$ENV{SSL_verify_mode} = 0x00;

This didn't work for me, and after much debugging I figured out that the script isn't using IO::Socket::SSL -- it's using LWP.  The proper change to check_esx when using LWP is:

$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;

I put it after the line  use File::Basename;  so it looks like:

use Nagios::Plugin;
use File::Basename;

$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;

my $perl_module_instructions="
Download the latest version of Perl Toolkit from VMware support page.

After making this change, the check_esx plugin again works perfectly.

Additionally, please note that this worked fine for me previously - it only broke after my last yum update on my CentOS server hosting Nagios.

Reply
0 Kudos