Technical Blog Post
Server Health view showing wrong data for ESX Sensors
The monitoring agent for VMWare (VI Agent) is included in the bundle "Tivoli Monitoring for Virtual Environments".
It provides a lot of useful attribute groups that allow to keep under control health and performance of the ESX hosts and also to have
details about Virtual Machines activity.
One of the default view is "Server Health", it shows information about the sensors currently available on the ESX host.
Basically this view shows all the sensors you can find in the Hardware --> Health Status tab of the vSphere client, and it includes sensory types like
Power, Software Components, Systems etc, and the related Status.
It has been observed that in some environment the status and the value showed on Server Health TEP view for specific sensors do not match the information available
on the vSphere client.
This can happen because the agent collects the information from the vCenter the ESX host is connected to, not directly from the host, so when the agent runs data collection from
vCenter, if this does not have updated information from the ESX host, you may get unexpected results.
To make story short, the agent retrieves this information from vCenter APIs, but the vCenter API provides the updated status only if we execute the refresh task, otherwise it continues to report stale status.
The refresh task feature is not enabled by default in the VMware VI agent.
A note available about this feature says:"
"After enabling this feature, the refresh tasks are executed after every interval of time on the vCenter Server to get the latest updates for hardware status for each ESX server."
Starting from VI Agent v7.1 IF5 and v7.2 FP2 there are two environment variables provided to control the refresh task.
First one is to enable or disable the refresh task, and the second is to control the interval the task is executed.
To get updated hardware status we have to set the first variable to Y.
Instead variable KVM_HOST_SYSTEM_HEALTH_STATUS_REFRESH_INTERVAL can be set in agent configuration file to control the interval after which the task
The value is in seconds. Default value is 300 seconds, so 5 minutes.
Of course you can use another value, also depending on the interval for the situations you created for this attribute group.
To enable this feature use the following steps:
1. Edit environment file of VMware VI Agent instance.
2. Add following variables
The interval is defined in seconds and this is the delay after which next hardware status will be fetched.
3. Save and close the file.
4. Restart the agent instance.
This solution may have a side effect on vCenter logs, as their size might grow at an higher rate due to the events sent by each esx host every 300 seconds.
You can of course take this under control using an higher interval for KVM_HOST_SYSTEM_HEALTH_STATUS_REFRESH_INTERVAL, so that the refresh task is executed less frequently.
Thanks for reading
Subscribe and follow us for all the latest information directly on your social feeds:
|Academy Twitter :||https://goo.gl/AhR8CL|