Overcoming lack of VMware SDK with VMware Wizard
Nagios has developed a new vSphere Wizard/plugin that uses Python, and no longer relies on the Perl SDK, which has been deprecated and removed from Broadcom’s assets. The vSphere Wizard/plugin shipped with XI 2024R1.1. You can re-create your checks using the new vSphere Wizard/plugin. Please make sure your Components and Wizards are updated: Nagios XI - Update Components And Wizards
If you had previously set up and used the VMware Wizard or plugin (were able to download and install the Perl SDK), in the past, it should continue to work properly. If you are migrating your XI server or installing a new XI instance, you may run into issues using checks set up with the VMware Wizard.
You can quickly modify the existing commands to switch from the VMware Perl script to the vSphere Python script to fix the existing VMware checks that are migrated to the new system. You will need to be on Nagios XI 2024R1.1 or greater.
First, you will need to make sure you install the Python pyvmomi module. To install the module, run this command (you will need to be connected to the internet):
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade setuptools wheel
python3 -m pip install --upgrade pyvmomi
python3 -m pip install --upgrade pyvim
If you try and install the packages on a Ubuntu 24 system and you see this error
error: externally-managed-environment
You need to add the --break-system-packages option to the commands which will force them to be installed.
python3 -m pip install --upgrade pip --break-system-packages
python3 -m pip install --upgrade setuptools wheel --break-system-packages
python3 -m pip install --upgrade importlib-metadata --break-system-packages
python3 -m pip install --upgrade pyvmomi --break-system-packages
Next, go to the Configure > Core Config Manager > Commands menu and edit the following command
check_vmware_api_guest
Change the command line from
$USER1$/check_vmware_api.pl -H "$HOSTADDRESS$" -f "$ARG1$" -N "$ARG2$" -l "$ARG3$" $ARG4$
to
python3 $USER1$/check_vsphere_xi.py -H "$HOSTADDRESS$" -f "$ARG1$" -N "$ARG2$" -l "$ARG3$" $ARG4$ $ARG5$ $ARG6$ $ARG7$ $ARG8$
Save it and edit this command.
check_vmware_api_host
Change the command line from
$USER1$/check_vmware_api.pl -H "$HOSTADDRESS$" -f "$ARG1$" -l "$ARG2$" $ARG3$
to
python3 $USER1$/check_vsphere_xi.py -H "$HOSTADDRESS$" -f "$ARG1$" -l "$ARG2$" "$ARG3$" "$ARG4$" "$ARG5$" "$ARG6$"
Save and Apply the Configuration.








