How to monitor VCenter/ESXi/VMs

Hi, I have not been able to find documentation explaining how to get my vcenter monitored… I have added it but am getting the messages [special_vsphere] Version: unknown, OS: unknown, Missing monitoring data for check plugins for the appliance, and this message for the esxi hosts: 22 unmonitored services (esx_vsphere_hostsystem_cpu_usage:1 … this message is longer than posted here. What are the steps to add the vcenter and esxi hosts? The id is not an issue.

There is a comprehensive article on monitoring VMware ESXi.


have a look that your datasource is defined only the esx and/or vsphere systems.
Otherwise the config is used for every host.

Excellent article

But I have a problem with its definitions.
It states

You must have defined the ESXi-server as the host in Checkmk, and configured it as an agent (Checkmk Agent).


I am unsure as how can I configure host as an agent?
Haven’t found such option in host properties.

Also, the same document states that

Once the prerequisites have have been satisfied you can create a Rule in the Setup > VM, Cloud, Container > VMWare ESX via vSphere rule set. This will be assigned to the defined host, so that instead of the standard agent the special agent will be used for retrieving data from the VMware-monitoring.

BUT I can not find - where are those special agents located?

Looks like some therms are to be interpreted with caution :slight_smile: :slight_smile:
I have configured host and SetupAgents[VM, Cloud, Container] rule and the ERROR I get is that I should check credentials.
Eather I have wrong format for the username (domain\user), or there have to be local user defined.
Which is it? :slight_smile:

This does just mean that in the host properties → Monitoring agent, the setting “Checkmk agent / API integration” needs to be set to “API integrations if configured, else Checkmk agent”. This is the default value, so unless you did not override the default in the folder properties, there is nothing special to do.

You can find this ruleset under Setup → Agents → VM, Cloud, Container → VMWare ESX via vSphere:

Create a rule of this type, enter the access credenials etc. At the bottom of the rule under “Explicit hosts”, enter the name of the host object created above.

1 Like

Thank you so much Heavy, both for your efforts and details.
I have done all as you suggest (and mentioned it in the post number 5) but still have the ERROR message:
Agent exited with code 1: Cannot login to vSphere Server (reason: [500] Internal Server Error). Please check the credentials.

Here is setting defined in Setup → Agents → VM, Cloud, Container → VMWare ESX via vSphere:

Which format the username should have?
domain\user or just user or user@domain or it has to be local user?

I have seen both “username” and “domain\username” at customer sites.

My recommendation is always to use a local user for monitoring to eliminate additional sources of failure.

1 Like

local.domain\user and FQDN solved problem for me :slight_smile: