Page 1 of 2
How are you monitoring ESXi hosts using Nagios XI
Posted: Thu Oct 30, 2025 3:06 pm
by DileepKumar
Hi,
I'm trying to monitor ESXi hosts using Nagios XI, I want to utilize VSphere monitroing wizard instead of VMware (because of deprecated SDK). Could you please help me on what level of access do we need at ESXi level?
As of now, I do have access at Vcenter level, it does allow me to monitor all ESXi hosts but as a single service and I want to monitor one ESXi server as one ESXi service check. Example, As per my access level and the Wizard I'm using, I'm able to monitor the CPU usage of all ESXi's as a single service check associated with Vcenter host which means I don't get alerts for every critical CPU usage unless the previous alerts are cleared.
Does anyone know how to monitor ESXi. If yes, please help me out with below questions
- Which plugin or Wizard is best for ESXi monitoring
- What is the access level required for ESXi monitoring
- Does the access need to be at ESXi level or Vcenter level
- Any other suggestions for me on my journey in monitoring all my 40+ ESXi servers
Thank you
Re: How are you monitoring ESXi hosts using Nagios XI
Posted: Tue Nov 04, 2025 4:02 am
by vouchphoto
Great questions. Monitoring a large VMware vSphere / VMware ESXi environment with Nagios XI takes a little planning, especially if you want per-host visibility (rather than aggregated across all hosts). I’ll break down what you need, which tools/wizards are relevant, and what access/permissions are required at the ESXi/vCenter level — plus suggestions for your 40+ ESXi hosts scenario.
Re: How are you monitoring ESXi hosts using Nagios XI
Posted: Tue Nov 04, 2025 8:32 am
by cdepaulis
Hello,
The vSphere wizard I believe sounds like the right tool for the job in this case. In order to use the wizard I believe you just need the read only role on the vSphere server itself. Assuming you have that then I would first make sure you install the packages the wizard requires which it'll prompt you the commands, and then try typing in the credentials and see if you can see the host you are expecting. You'll want to choose "Monitor a guest VM on the VMWare host." After clicking next click on the "Guest Selection" tab and see if you can see the host you were expecting if not come back here and I can try and dig a little deeper into this.
- Caleb
Re: How are you monitoring ESXi hosts using Nagios XI
Posted: Wed Nov 05, 2025 7:57 am
by DileepKumar
Hi
@cdepaulis
Thank you very much for the help.
Below are the steps I followed and issues that currently I'm facing
I tried '"vSphere" wizard to monitor ESXi and respective services and I have read only access to Vcenter/vSphere host and i have 32 of total Esxi hosts under my Vcenter/vSphere
1. I tried the steps you have suggested, gave the Vcenter IP and creds and selected "Monitor a guest VM on the VMWare host." and then "Guest Selection" tab, but all I could see is the VM's but not the ESXis that I'm expecting
2. I tried giving the ESXi IP itself in the first step as it said "The IP address or FQDNS name of the VCenter (server) or ESXi host you would like to monitor." and selected the "Monitor the VMware host" but it's saying "permission denied" in nagios GUI
3. I tried giving Vcenter IP and selected "Monitor the VMware host" and I can see the status of checks along with CPU usage & Datastore free of all ESXi hosts under this Vcenter as a single service but I want as separate service checks to receive individual alerts.
So by far, I have tried all possibilities but could not monitor a individual services for a single ESXi servers under the Vcenter. Please help me on this, I can try any other plugins too
Re: How are you monitoring ESXi hosts using Nagios XI
Posted: Thu Nov 06, 2025 8:37 am
by cdepaulis
Thank you for replying with the steps you have tried. I now further understand the problem that you are having. Looking back at my test I also cannot see my ESXi host. I have found this documentation on the vSphere wizard (
https://assets.nagios.com/downloads/nag ... Sphere.pdf) stating that you should be able to monitor the ESXi host itself using the second method you described. The main difference is the documentation request the specific ESXi username and password. I assume this is different than the vSphere username and password, so I would recommend asking for those credentials and trying them. I will also reach out to a few people here to see if they have anymore information on how the wizard is supposed to work with ESXi host.
- Caleb
Re: How are you monitoring ESXi hosts using Nagios XI
Posted: Thu Nov 06, 2025 9:01 am
by DileepKumar
Thank you very much for the update
@cdepaulis.
This is very helpful, I know that this is not the progress we expected but at least a sigh of relief knowing that we are in the right direction.
My Esxi team wants me to monitor ESXi based on Vsphere creds, I informed that it is not possible but they are insisting that they followed the same process using OP5 monitoring tool (which is also based on Nagios Core engine) and a respective plugin called "check_vmware_v2" or "check_vmware". Using that they used to monitor below services using the below given command
$USER1$/check_vmware_v2 -u '$ARG1$' -p '$ARG2$' -H '$ARG3$' --ignore-ssl -S '$ARG4$' -w '$ARG5$' -c '$ARG6$' --timeout 120
Host Alarms (runtime.alerts)
Host Configuration issues (runtime.issues)
Host Health (runtime.health)
Host Net Usage (net.usage.average)
Host Status (runtime.status)
Is there any similar type of plugins available for Nagios too. I know it is indeed Nagios support but I think it is exclusive to OP5 license only. This new nagios exchange website is already troubling me enough to explore plugins as sort option is not functioning properly. Any help in finding a similar or useful plugin is also appreciated.
Re: How are you monitoring ESXi hosts using Nagios XI
Posted: Thu Nov 06, 2025 1:02 pm
by cdepaulis
I just talked to one of our other developers and it appears that there is an issue with the Wizard itself being able to handle this. Although he did say there was a way to handle this if you manual use the plugin, which is a little more work, but it should work. I will make a feature request on this and I or someone else will try to get on this when time permits. For now try testing this command to see if you can get a response for the CPU usage as a test.
Code: Select all
/usr/local/nagios/libexec/check_vsphere_xi.py -u <myusername> -p <mypassword> -A <vsphere host address> -H <ESXi host address> -l CPU
If you do then you can manually create the services using the Core Config Manager, but if you don't come back here and I can try and help make it work.
I do want to note that if you have a password that includes some characters that ends up causing issues on the command line when testing save your credentials in a txt file. The format is simply:
username=<username>
password=<password>
Then you run the command like this:
Code: Select all
/usr/local/nagios/libexec/check_vsphere_xi.py -f credentials.txt -A <vsphere host address> -H <ESXi host address> -l CPU
Best of luck.
- Caleb
Re: How are you monitoring ESXi hosts using Nagios XI
Posted: Mon Nov 10, 2025 1:19 pm
by DileepKumar
Hi
@cdepaulis,
Sorry for the delay in response.
I have tested what you suggested, doing manually but found it not working at all. Below are the results
/usr/local/nagios/libexec/check_vsphere_xi.py -u <myusername> -p <mypassword> -A <vsphere host address> -H <ESXi host address> -l CPU
Object `<ESXi host address>` not found
UNKNOWN
please note that I do have access to Vsphere and I can see the same above Esxi host under "VM Status for vSphere Host" while monitoring the above vsphere
I have tried the same with different Esxi servers but output is remaining as same.
edit
Just before submitting this, I have tried giving ESXi name instead of ESXi address as below and it's working
/usr/local/nagios/libexec/check_vsphere_xi.py -u <myusername> -p <mypassword> -A <vsphere host address> -H <ESXi host address> -l CPU
we can use -s usage for average and without that is current value I'm not sure I'm 100% right here
I have no idea on how to do the rest except for CPU, Memory and hopefully, you can help me out not on everything but to the ones that I mentioned in my previous message
Re: How are you monitoring ESXi hosts using Nagios XI
Posted: Tue Nov 11, 2025 8:51 am
by cdepaulis
Hello,
I'm glad we are at least getting closer to the solution for this. Since you are able to get some metrics now I'll give as much info as I can about using the plugin. If you need specific metrics let me know and I can try and help with that as well. I don't know if you read the help output from the plugin but I am going to assume not just so I cover everything. The -l option is the main command/metric (e.g. CPU, MEM, ) you want to run and then -s is the subcommand. After using -h on the command to see help you should see "Supported commands" and you'll want to look more specifically at "Host Specific". Then under that section you'll see both symbols * and +. The * indicates its a main command/metric and any + symbols under the specific main command are its available subcommands (so for CPU usage and usagemhz). The ^ symbol I believe represents if you give no subcommand what it would output which appears to be all metrics. I will paste from the plugin the python dictionary indicating the commands and related subcommands that I was able to get valid output from for host.
Code: Select all
"HOST": {
"CPU": ["USAGE", "USAGEMHZ"],
"MEM": ["USAGE", "SWAP", "OVERHEAD", "OVERALL", "ACTIVE", "MEMCTL"],
"NET": ["USAGE", "RECEIVE", "SEND", "NIC"],
"IO": ["USAGE", "READ", "WRITE"],
"VMFS": ["NAME"],
"RUNTIME": ["CON", "HEALTH", "STORAGEHEALTH", "TEMPERATURE", "SENSOR", "MAINTENANCE", "LISTVM", "STATUS", "ISSUES"],
"SERVICE": ["NAMES"],
"STORAGE": ["ADAPTERS", "LUNS", "PATHS"],
Let me know if this helps move you in the right direction or if you need anymore help with the plugin!
- Caleb
Re: How are you monitoring ESXi hosts using Nagios XI
Posted: Wed Nov 12, 2025 11:16 am
by DileepKumar
Hey
@cdepaulis,
Thank you very much for your detailed and very useful suggestions.
I will be trying these options and will let you know the outcome but as of now while using
service option, I'm getting below issue
/usr/local/nagios/libexec/check_vsphere_xi.py -u <myusername> -p <mypassword> -A <vsphere host address> -H <ESXi host name> -l SERVICE
-l SERVICE
OK: DCUI (up), TSM (down), TSM-SSH (up), apiForwarder (up), attestd (down), dpd (down), entropyd (down), gpuManager (down), hbrsrv (down), infravisor (up), kmxd (down), lbtd (up), lwisOomCheck (down), lwsmd (up), ntpd (up), nvmf-discoveryd (down), pcscd (down), ptpd (down), sfcbd-watchdog (down), slpd (down), snmpd (down), vdtc (up), vltd (down), vmsyslogd (up), vmware-fdm (up), vpxa (up), xorg (down)
[206881778@eclaplp01031 libexec]$ ./check_vsphere_xi.py -u <myusername> -p <mypassword> -A <vsphere host address> -H <ESXi host name> -l SERVICE -s entropyd
OK: ENTROPYD (unknown)
[206881778@eclaplp01031 libexec]$ ./check_vsphere_xi.py -u <myusername> -p <mypassword> -A <vsphere host address> -H <ESXi host name> -l SERVICE -s DCUI
OK: DCUI (up)
[206881778@eclaplp01031 libexec]$ ./check_vsphere_xi.py -u <myusername> -p <mypassword> -A <vsphere host address> -H <ESXi host name> -l SERVICE -s TSM
OK: TSM (down)
In the above example, I don't know why it is showing as OK and showing as UNKNOWN even though
ENTROPYD is down and same with
TSM although, in this case ut is showing correct status as DOWN. I have used
-E running or -E stopped but it seems not to be working