Skip to main content

VMware collection items

The server monitoring agent collects the status of ESXi hosts and virtual machines together through the VMware API. The resource usage seen from inside a virtual machine alone makes it difficult to identify the cause of performance degradation. A broken fan on the host, or virtual machines packed onto one host so that vCPUs wait for each other's turn, hardly shows up in the guest metrics. This document describes the items collected through the VMware integration, for operators who run virtualization-based infrastructure and need to trace causes down to the host level.

The VMware data integration can collect data by connecting directly to an ESXi host, even without vCenter. However, the vm_vcenter_inventory category is collected only when the agent is connected to vCenter.

The supported agent versions are Linux and Windows 2.9.23 or later. Fields marked New in 2.9.23 in the Remarks column of each table were added in 2.9.23. Fields without a mark have been provided since earlier versions.

infra_vm_vhost_hw

A category that collects the hardware status of an ESXi host by part. One host becomes one row, and it provides the status per part, such as power, cooling, memory, and processor, along with the highest temperature. Use it to check hardware failures before they lead to performance degradation or an outage. This category was added in 2.9.23, so every field in the table is new.

  • Collection target: VMware ESXi

Status values are standardized into the following four. When a part has multiple sensors, the most severe status is displayed as the representative value, and a part with no sensor data is displayed as unknown.

ItemDescription
greenNormal
yellowWarning
redFailure
unknownThe status cannot be determined
FieldTypeUnitDescription
vhostNamestring-Name of the host being collected. The basis for identifying which ESXi host each hardware status came from
uuidstring-Hardware UUID of the host. Supplementary basis for identifying the same host even when its name or IP changes
hardwareHealthstring-Overall status representing the most severe state among all collectable hardware statuses
powerSupplyStatusstring-Status of the power supply units
powerSupplyRedundancyStatusstring-Redundancy status of the power supply units. Used to check whether redundancy is degraded by a partial failure
networkDeviceStatusstring-Hardware status of the physical network devices and network adapters. Distinct from the network link up and down state
batteryStatusstring-Status of the internal battery or the hardware management controller battery. Includes CMOS batteries and RAID cache batteries
processorsStatusstring-Hardware status of the physical processors and CPU sockets. A physical hardware status unrelated to CPU usage
memoryModulesStatusstring-Hardware status of the physical memory modules. Includes DIMM errors and module failure or warning states
coolingUnitStatusstring-Status of the cooling units such as fans and blowers
coolingUnitRedundancyStatusstring-Redundancy status of the cooling units. Used to check whether cooling is maintained even when some fans fail
temperatureStatusstring-Overall status of the temperature sensors such as the CPU, system board, memory, and air intake
temperatureMax-°CHighest temperature among the sensor readings at collection time. Calculated by applying the unit modifier provided by VMware to the raw sensor reading. Empty when no temperature sensor is available
hardwareHealthDataAvailableboolean-Whether the host reported at least one hardware status or sensor data
hardwareHealthSupportStatusstring-Whether hardware status collection is supported. supported means sensor data is provided, unsupported means the API is not supported or the sensors are not exposed
hardwareHealthUnavailableReasonstring-Reason why hardware status data cannot be collected. Records causes such as an unsupported Hardware Health API, unexposed sensors, or a collection error. Empty on normal collection
temperatureMaxSensorstring-Name of the temperature sensor where temperatureMax was measured. Identifies which of the CPU, system board, memory, or air intake sensors actually recorded the highest temperature
temperatureUnitstring-Unit applied to temperatureMax. Usually in the Degrees C form, and the expression can vary depending on the sensor provider

infra_vm_vhost_resource_capacity

A category that collects the physical resources of an ESXi host together with the resources allocated to virtual machines. One host becomes one row, and it provides the ratio of allocation to physical capacity (overcommit). Use it to check whether too many virtual machines are placed on a specific host. This category was added in 2.9.23, so every field in the table is new.

  • Collection target: VMware ESXi
FieldTypeUnitDescription
vhostNamestring-Name of the host being collected. The basis for identifying which ESXi host each resource metric came from
uuidstring-Hardware UUID of the host. Supplementary basis for identifying the same host even when its name or IP changes
cpuCores-countTotal number of physical CPU cores on the host. The basis for allocatable virtual machine resources and CPU capacity planning
totalMemory-byteTotal memory capacity installed on the host. The basis for the capacity available for virtual machine placement and memory resource planning
activeVCpu-countSum of the vCPUs allocated to powered-on virtual machines
allocatedVCpu-countSum of the vCPUs configured for all virtual machines placed on the host. Includes powered-off and suspended virtual machines
activeOverCommitCore--activeVCpu divided by the number of physical CPU cores. Expressed as a multiple showing how many vCPUs are allocated per physical core on average, based on running virtual machines
allocatedOverCommitCore--allocatedVCpu divided by the number of physical CPU cores. The vCPU overcommit multiple on a configuration basis, including powered-off and suspended virtual machines
activeMemory-byteSum of the memory configured for powered-on virtual machines
allocatedMemory-byteSum of the memory configured for all virtual machines placed on the host. Includes powered-off and suspended virtual machines
activeOverCommitMemory--activeMemory divided by the physical memory capacity. Expressed as a multiple showing how much memory is allocated relative to the physical memory, based on running virtual machines
allocatedOverCommitMemory--allocatedMemory divided by the physical memory capacity. The memory overcommit multiple on a configuration basis, including powered-off and suspended virtual machines
vmGuestCount-countNumber of virtual machine objects connected to the host. Used to identify the placement and density per host
poweredOffVMCount-countNumber of powered-off virtual machines. Included in allocatedVCpu but not in activeVCpu
suspendedVMCount-countNumber of suspended virtual machines. Because vCPUs are configured, they are included in allocatedVCpu, but they are not included in activeVCpu since they are not running
unknownPowerStateVMCount-countNumber of virtual machines whose power state cannot be determined or is not identified as one of poweredOn, poweredOff, or suspended. Can occur due to vCenter response delays, permissions, or a temporary state mismatch
vcpuSkippedVMCount-countNumber of virtual machines excluded from the vCPU sum because the vCPU setting could not be read. Can be caused by a failure to access the configuration, insufficient permissions, an abnormal configuration, or a temporary vCenter response error
memorySkippedVMCount-countNumber of virtual machines excluded from the memory sum because the memory setting could not be read. The causes are the same as for vcpuSkippedVMCount

The overcommit ratio is displayed to two decimal places. A value greater than 1 means more resources are allocated to virtual machines than the physical resources. Since a certain level of overcommit is common in virtualized environments, it is better to look at the deviation between hosts in the same cluster and the increasing trend over time rather than the absolute value.

Adjust whether to collect with the following option.

whatap.conf
vm.vhost.perf.resource_capacity.enabled=true    # Whether to collect (Default: true)

infra_vm_vhost_cpu

A category that aggregates the CPU usage and wait time of an ESXi host. One host becomes one row, and it provides the CPU usage and contention of all virtual machines on the host.

  • Collection target: VMware ESXi
FieldTypeUnitDescriptionRemarks
vhostNamestring-Name of the host being collected. The basis for identifying which ESXi host each CPU metric came from
uuidstring-Hardware UUID of the host. Supplementary basis for identifying the same host even when its name or IP changes
usage-percentRatio of the host's total CPU resources actually used. The basic metric for checking the CPU load level of the host
usageMhz-MHzAmount of CPU resources actually in use on the host. Check it together with usage when comparing hosts with different CPU capacities
totalCapacity-MHzTotal CPU capacity the host can provide. The reference value for interpreting usage, demand, and reserved capacity
demand-MHzAmount of CPU resources the virtual machines of the host actually demanded
readiness-percentRatio of the time a virtual machine was ready to run but was not immediately given a physical CPU. The key metric for judging CPU contention on the host
ready-ms/sTime spent waiting for a physical CPU while ready to run
latency-percentLevel of delay between requesting CPU resources and actually running
costop-ms/sTime a multi-vCPU virtual machine was stopped while waiting to be scheduled simultaneously
wait-ms/sTime the CPU spent waiting without performing actual computation. Includes idle time, I/O waits, and swap waits
swapwait-ms/sTime CPU execution was delayed by memory swap processing
idle-ms/sTime the CPU spent idle
reservedCapacity-MHzCPU capacity secured by reservations. When it is large relative to the total capacity, the actually available CPU headroom decreases
demandPct-percentdemand divided by totalCapacityNew in 2.9.23
costopPct-percentcostop converted to a ratio (1,000 ms/s = 100%)New in 2.9.23

Do not judge CPU contention from a single metric. When usage is high and readiness and ready are high together, CPU contention is likely. Conversely, when usage is low but readiness is high, also check for over-allocated vCPUs, resource limits, and the scheduling policy. When demand stays higher than usageMhz, the virtual machines may not be getting as much CPU as they demand.

wait includes idle time, I/O waits, and swap waits, so a high value does not by itself mean the CPU is insufficient. Check it separately against idle and swapwait. swapwait is displayed as a CPU metric, but the cause can be insufficient memory or memory contention, so when it increases, also check the memory usage, ballooning, and swap activity of the host and the virtual machines.

Metrics in ms/s are converted to per-second values so that they can be compared on the same basis even when the collection interval changes.

demandPct and costopPct are the sum over all virtual machine vCPUs on the host, so they can exceed 100%, and no separate upper limit is applied. If costopPct stays high, the number of vCPUs allocated to the virtual machines may be too large for the host capacity.

infra_vm_vhost_mem

A category that aggregates the memory usage and reclamation activity of an ESXi host. One host becomes one row, and it provides everything from the actual occupancy and working set to reclamation metrics such as ballooning, compression, and swapping.

  • Collection target: VMware ESXi
FieldTypeUnitDescription
vhostNamestring-Name of the host being collected. The basis for identifying which ESXi host each memory metric came from
uuidstring-Hardware UUID of the host. Supplementary basis for identifying the same host even when its name or IP changes
consumed-bytePhysical memory the host is actually consuming. Includes the memory occupied by virtual machines, VMkernel, and the ESXi system area
active-byteMemory the virtual machines on the host have actively used recently. Close to the effective working set
activeConsumedRatio-percentactive divided by consumed. The share of the consumed memory that has actually been actively used
granted-byteMemory the host granted to the virtual machines
latency-percentLevel of delay occurring during memory access or allocation
vmmemctl-byteMemory the balloon driver reclaimed from the virtual machines
swapused-byteMemory that was pushed out to swap on the host
swapInRate-bytes/sRate at which memory is read back from the swap area
swapOutRate-bytes/sRate at which memory pages are pushed out to the swap area
compressed-byteMemory compressed through memory compression
compressionRate-bytes/sRate at which memory compression occurs
shared-byteMemory shared between virtual machines or between memory pages
overhead-byteMemory overhead ESXi uses additionally to run the virtual machines
sysUsage-byteMemory in use by the ESXi system area
heapFree-byteFree memory available in the ESXi heap area

When consumed is high but active is low, many virtual machines have a large allocation and occupancy but little actual usage. activeConsumedRatio shows this relationship directly.

Do not judge a memory shortage from a single metric. As memory pressure grows, ESXi escalates reclamation through ballooning, then compression, then swapping. When compressed and compressionRate rise after vmmemctl has increased, and swapused and swapOutRate also appear, memory contention has progressed considerably. When latency is high at the same time, virtual machine performance is likely affected.

A high swapInRate means the pages a virtual machine needs are in swap and are being read back, which can lead to performance delays.

shared, overhead, sysUsage, and heapFree do not indicate a problem on their own. shared is a supplementary metric for the memory savings effect, and overhead grows with the number of virtual machines and the complexity of their virtual device configurations. If sysUsage or heapFree changes abnormally, check the ESXi system state separately.

infra_vm_vhost_disk

A category that aggregates the disk I/O of an ESXi host. One host becomes one row, and it provides the throughput summed across all disks connected to the host along with the highest latency.

  • Collection target: VMware ESXi
FieldTypeUnitDescription
vhostNamestring-Name of the host being collected. The basis for identifying which ESXi host each disk metric came from
uuidstring-Hardware UUID of the host. Supplementary basis for identifying the same host even when its name or IP changes
usage-bytes/sTotal disk I/O throughput on the host. The sum of reads and writes
read-bytes/sDisk read throughput on the host
write-bytes/sDisk write throughput on the host
maxTotalLatency-msHighest disk I/O latency among the disks and devices connected to the host

When usage stays high, a large amount of disk I/O is occurring on the virtual machines of that host. Check it together with maxTotalLatency to distinguish a simple throughput increase from a storage bottleneck.

When read is high and the latency increases together, check for read I/O contention, cache misses, and backend storage response delays. When write is high and the latency increases, check for write I/O contention, storage controller delays, and RAID, cache, or synchronization delays.

maxTotalLatency rises when a delay occurs on a specific disk, datastore, LUN, or storage path. Even when the overall throughput of the host is not high, a high value is worth checking for I/O delays on a particular storage path or virtual machine.

infra_vm_vhost_disk_perf

Performance per disk device connected to an ESXi host. One disk becomes one row, and it provides the throughput, the request counts, and the latency per layer. Use it to narrow down which disk is the bottleneck.

  • Collection target: VMware ESXi
FieldTypeUnitDescription
vhostNamestring-Name of the host being collected. The basis for identifying which ESXi host each disk metric came from
uuidstring-Hardware UUID of the host. Supplementary basis for identifying the same host even when its name or IP changes
diskNamestring-Name of the disk or device the metrics were collected from. The basis for distinguishing individual disks, LUNs, local disks, and storage devices connected to the host
usage-bytes/sTotal I/O throughput of the disk. The sum of read and write
read-bytes/sRead throughput of the disk
write-bytes/sWrite throughput of the disk
numberTotal-counts/sTotal number of I/O requests. The sum of numberRead and numberWrite
numberRead-counts/sNumber of read I/O requests
numberWrite-counts/sNumber of write I/O requests
totalLatency-msAverage latency for processing all I/O requests on the disk. The representative latency metric, including the effects of kernel, device, and queue latency
totalReadLatency-msAverage latency for processing read I/O requests
totalWriteLatency-msAverage latency for processing write I/O requests
deviceLatency-msAverage latency for processing I/O on the physical disk or backend storage device
queueLatency-msAverage time an I/O request waited in the queue before being processed
kernelLatency-msAverage latency incurred while the ESXi VMkernel layer processed the I/O
maxQueueDepth-countMaximum queue depth available or observed on the disk
busResets-counts/sNumber of bus resets that occurred on the disk or storage bus

Looking at the throughput (usage, read, write) together with the request counts (numberTotal, numberRead, numberWrite) gives a sense of the I/O block size. When the request count is high but the throughput is low, there are many small-block I/Os.

Splitting the latency metrics narrows down where the delay originates.

High metricWhere to look
deviceLatencyThe backend storage layer such as the storage device, LUN, array, SAN, or NAS
kernelLatencyHost-internal I/O processing, the driver, the HBA or storage adapter, and the VMkernel storage stack
queueLatencyRequests are queuing because they are not processed fast enough. Check it with maxQueueDepth and the request counts

When busResets keeps occurring with a non-zero value, also check the storage path stability, the HBA and controller logs, and the ESXi events.

The values summed across the whole host are available in infra_vm_vhost_disk.

infra_vm_vhost_storageadapter_perf

Performance per storage adapter (HBA) of an ESXi host. One adapter becomes one row, and it provides the summed performance of the disks and LUNs connected to that adapter. Use it to see which HBA carries the load.

  • Collection target: VMware ESXi
FieldTypeUnitDescription
vhostNamestring-Name of the host being collected. The basis for identifying which ESXi host each adapter metric came from
uuidstring-Hardware UUID of the host. Supplementary basis for identifying the same host even when its name or IP changes
memberCount-countNumber of canonical disk or LUN instances included in the adapter aggregation. A larger value means the performance of more disks and LUNs is summed into one adapter
memberPathNamesstring-List of the disk and LUN paths mapped to the adapter. Used to check which paths the adapter values were aggregated from
adapterNamestring-Name of the storage adapter the values were aggregated for. Usually an HBA or storage controller name such as vmhba0
total-bytes/sTotal I/O throughput of the adapter. The sum of read and write
read-bytes/sData throughput read through the adapter. The sum of the read throughput of the underlying disks and LUNs
write-bytes/sData throughput written through the adapter. The sum of the write throughput of the underlying disks and LUNs
numberTotalAveraged-counts/sTotal average number of I/Os on the adapter. The sum of numberReadAveraged and numberWriteAveraged
numberReadAveraged-counts/sAverage number of read I/Os on the adapter
numberWriteAveraged-counts/sAverage number of write I/Os on the adapter
commandsAveraged-counts/sTotal number of I/O commands issued on the disks and LUNs connected to the adapter
totalReadLatency-msAverage read I/O latency of the adapter. The read latency of the underlying disks and LUNs, weighted by the read request count
totalWriteLatency-msAverage write I/O latency of the adapter. The write latency of the underlying disks and LUNs, weighted by the write request count

The values in this category are aggregated from the disks and LUNs under the adapter. Throughput and request counts are simple sums, while latency is an average weighted by the request count. A large memberCount means that many disks and LUNs are folded into one value, so a single slow disk may not stand out in the adapter average.

When the adapter latency looks high, check memberPathNames to see which paths were aggregated, then narrow down per path in infra_vm_vhost_storagepath_perf and per disk in infra_vm_vhost_disk_perf.

infra_vm_vhost_storagepath_perf

Performance per storage path of an ESXi host. One path becomes one row, and it provides the per-path throughput and latency along with the adapter, target, and LUN information. Use it to find a single slow path in a multipath configuration.

  • Collection target: VMware ESXi
FieldTypeUnitDescription
vhostNamestring-Name of the host being collected. The basis for identifying which ESXi host each path metric came from
uuidstring-Hardware UUID of the host. Supplementary basis for identifying the same host even when its name or IP changes
pathNamestring-Display name of the storage path. A path name combining the adapter, target, LUN, and canonical disk information
canonicalDiskNamestring-Canonical name of the SCSI LUN as recognized by the host (for example, naa.*, t10.*, mpx.*). The basis for mapping to the performance counter instance
adapterNamestring-Name of the storage adapter the path is connected to. Usually an HBA or storage controller name such as vmhba0
targetNamestring-Name combining the adapter and the target (for example, vmhba0:T0). Used to identify the target path under an adapter
targetIdstring-Target number the path is connected to in the ESXi SCSI topology. Used to distinguish multiple targets on the same adapter
lunIdstring-LUN number the path is connected to
adapterKeystring-Key that identifies the storage adapter inside vSphere. Used for API mapping and long-term data consistency checks
total-bytes/sTotal I/O throughput of the path. The sum of read and write
read-bytes/sData throughput read through the path
write-bytes/sData throughput written through the path
numberTotalAveraged-counts/sTotal average number of I/Os on the path. The sum of numberReadAveraged and numberWriteAveraged
numberReadAveraged-counts/sAverage number of read I/Os on the path
numberWriteAveraged-counts/sAverage number of write I/Os on the path
commandsAveraged-counts/sTotal number of I/O commands issued on the path. The storage command load including reads and writes
totalReadLatency-msAverage read I/O latency of the path
totalWriteLatency-msAverage write I/O latency of the path

There are several path identification fields because each narrows the problem at a different level. adapterName is per HBA, targetId is per target within the same adapter, and lunId is per LUN. When one LUN has multiple paths, comparing which path alone is slow separates a path failure from a storage device problem.

When totalReadLatency or totalWriteLatency stays high, check the HBA, target, LUN, and SAN segment of that path. If it is high across every path using the same canonicalDiskName, the problem is more likely on the backend storage than on the path.

infra_vm_vhost_datastore_perf

Performance and capacity per datastore accessed by an ESXi host. One datastore becomes one row, and it provides the capacity usage along with the I/O throughput and latency.

  • Collection target: VMware ESXi
FieldTypeUnitDescription
vhostNamestring-Name of the host being collected. The basis for identifying which ESXi host each datastore metric came from
uuidstring-Hardware UUID of the host. Supplementary basis for identifying the same host even when its name or IP changes
datastoreNamestring-Name of the datastore the performance and capacity data was collected from. The display name vSphere recognizes, such as VMFS, NFS, or vSAN
datastoreInstanceIdstring-Datastore identifier mapped to the performance counter instance. A value such as the VMFS volume UUID extracted from the datastore URL, used to link data reliably where names can change or be duplicated
datastoreTypestring-Type of the datastore (for example, VMFS, NFS, vSAN). Used to distinguish the storage backend
accessibleboolean-Whether the datastore is accessible from the host
datastoreUrlstring-Internal vSphere URL of the datastore. Includes the VMFS volume UUID or the access path
total-bytes/sTotal I/O throughput of the datastore. The sum of read and write
read-bytes/sData throughput read from the datastore
write-bytes/sData throughput written to the datastore
numberTotalAveraged-counts/sTotal average number of I/Os on the datastore. The sum of numberReadAveraged and numberWriteAveraged
numberReadAveraged-counts/sAverage number of read I/Os on the datastore
numberWriteAveraged-counts/sAverage number of write I/Os on the datastore
totalReadLatency-msAverage read I/O latency of the datastore
totalWriteLatency-msAverage write I/O latency of the datastore
capacity-byteTotal capacity of the datastore
allocated-byteAllocated space. The sum of used and uncommitted
used-byteActual usage. The total capacity minus the free space
uncommitted-byteSpace that is committed but not yet actually used in a thin provisioning environment, and can become actual usage later
free-byteFree space of the datastore
usedPct-percentused divided by capacity

The capacity fields relate as follows.

  • capacity = used + free
  • allocated = used + uncommitted

When allocated exceeds capacity, thin provisioning has promised more space than physically exists, an overcommit. Since uncommitted turns into actual usage as virtual machine disks grow, check the relationship between allocated and capacity rather than looking at usedPct alone.

When accessible is false, check the connection between the host and the datastore, the storage path, the SAN or NAS network, the permissions, and whether the datastore has failed.

When the latency stays high, check for storage response delays, path problems, backend storage load, and storage network delays. When several hosts share the same datastore, comparing whether the other hosts see the same latency separates a host problem from a backend problem.

infra_vm_vhost_network

A category that aggregates the network usage of an ESXi host. One host becomes one row, and it provides the sum across all physical network interfaces of the host.

  • Collection target: VMware ESXi
FieldTypeUnitDescriptionRemarks
vhostNamestring-Name of the host being collected. The basis for identifying which ESXi host each network metric came from
uuidstring-Hardware UUID of the host. Supplementary basis for identifying the same host even when its name or IP changes
usage-bytes/sTotal network usage of the host. The sum of received and transmitted traffic
bytesRx-bytes/sData throughput the host received over the network. Includes virtual machines, VMkernel, and the management network
bytesTx-bytes/sData throughput the host transmitted over the network. Includes virtual machines, VMkernel, and the management network
packetsTotal-counts/sSum of received packets (packetsRx) and transmitted packets (packetsTx)
packetsRx-counts/sNumber of network packets the host received
packetsTx-counts/sNumber of network packets the host transmitted
errorsRx-counts/sNumber of errors that occurred during reception
errorsTx-counts/sNumber of errors that occurred during transmission
droppedRx-counts/sNumber of packets dropped during reception
droppedTx-counts/sNumber of packets dropped during transmission
errorsRxTx-counts/sSum of receive errors (errorsRx) and transmit errors (errorsTx)New in 2.9.23
droppedRxTx-counts/sSum of receive drops (droppedRx) and transmit drops (droppedTx)New in 2.9.23

When errorsRx keeps increasing, suspect problems with the physical NIC, cable, switch port, driver, or MTU settings. When errorsTx increases, check the physical NIC, switch port, link status, driver, and network congestion.

droppedRx can be caused by an insufficient receive queue, network flooding, a NIC or driver problem, or vSwitch processing delays. Use droppedTx to check for an insufficient transmit queue, network congestion, or processing delays on the physical NIC or vSwitch.

Use errorsRxTx and droppedRxTx when you want to check only the host-level totals without separating receive and transmit.

infra_vm_vhost_nic_perf

Usage per physical network interface of an ESXi host. One interface becomes one row. Use it to check which interface produces errors or drops.

  • Collection target: VMware ESXi
FieldTypeUnitDescriptionRemarks
vhostNamestring-Name of the host being collected. The basis for identifying which ESXi host each NIC metric came from
uuidstring-Hardware UUID of the host. Supplementary basis for identifying the same host even when its name or IP changes
nicNamestring-Name of the network instance the metrics were collected from. Usually a physical NIC name such as vmnic0 or vmnic1, though another name can appear depending on the environment
usage-bytes/sTotal network throughput of the NIC. The sum of reception and transmission
bytesRx-bytes/sData throughput received through the NIC
bytesTx-bytes/sData throughput transmitted through the NIC
packetsTotal-counts/sSum of received packets (packetsRx) and transmitted packets (packetsTx)
packetsRx-counts/sNumber of network packets the NIC received
packetsTx-counts/sNumber of network packets the NIC transmitted
errorsRx-counts/sNumber of errors that occurred during reception
errorsTx-counts/sNumber of errors that occurred during transmission
droppedRx-counts/sNumber of packets dropped during reception
droppedTx-counts/sNumber of packets dropped during transmission
errorsRxTx-counts/sSum of receive errors (errorsRx) and transmit errors (errorsTx)New in 2.9.23
droppedRxTx-counts/sSum of receive drops (droppedRx) and transmit drops (droppedTx)New in 2.9.23

When errors or drops increase on only one NIC, first check that NIC's cable, switch port, driver, and MTU settings. The totals summed across the whole host are available in infra_vm_vhost_network.

Use errorsRxTx and droppedRxTx when you want to check only the per-interface totals without separating receive and transmit.

infra_vm_vhost_vmguest_perf

Performance metrics of the virtual machines running on an ESXi host. One powered-on virtual machine becomes one row, and it provides the CPU, memory, disk, and network usage of the virtual machine as seen from the host.

  • Collection target: VMware ESXi
FieldTypeUnitDescriptionRemarks
vHostNamestring-Name of the host on which the virtual machine is running
uuidstring-Hardware UUID of the ESXi host on which the virtual machine is running. Supplementary basis for identifying the same host even when its name or IP changes
vmNamestring-Name of the virtual machine the performance data was collected from. The name shown in the vCenter inventory
vmInstanceUuidstring-UUID that identifies the virtual machine instance within vCenter. The main identifier for tracking the same virtual machine regardless of a name change or vMotion
cpuUsage-percentCPU usage of the virtual machine. The vSphere cpu.usage.average value converted to a percentage
cpuUsagemhz-MHzCPU resources the virtual machine is actually using. Check it with the usage rate to see the actual consumption
cpuCostop-msTime the vCPUs of an SMP virtual machine waited because they could not be scheduled simultaneously
cpuCostopPct-percentcpuCostop divided by the sampling interval and converted to a ratio. Matches %CSTP as shown per VM group in esxtopNew in 2.9.23
cpuCostopPctPerVcpu-percentcpuCostopPct divided by the number of vCPUs, giving the average ratio per vCPU. Always between 0 and 100New in 2.9.23
cpuReadiness-msTime the virtual machine waited without being scheduled after it was ready to use the CPU, because of insufficient physical CPU resources
cpuReadinessPct-percentcpuReadiness divided by the sampling interval and converted to a ratio. Matches %RDY as shown per VM group in esxtopNew in 2.9.23
cpuReadinessPerVcpu-percentAverage waiting ratio per vCPU. Provided directly by the vSphere cpu.readiness.average counter and always between 0 and 100New in 2.9.23
cpuMaxlimited-percentRatio of the CPU time that was available but restricted by a CPU limit or a similar setting
memConsumed-MBMemory the virtual machine actually consumed from the host memory
memVmmemctl-KBVirtual machine memory reclaimed by the balloon driver (vmmemctl)
memActive-KBMemory judged to have been actively used recently. Used to estimate the effective working set
memGranted-KBMemory the host granted to the virtual machine
memSwapped-KBAmount of the virtual machine memory the host swapped out
memSwapoutRate-KB/sRate at which the virtual machine memory is swapped out to the host swap
memCompressed-KBAmount of the virtual machine memory the host is keeping compressed
memCompressionRate-KB/sRate at which the virtual machine memory is compressed
diskUsage-KB/sTotal disk usage from the guest perspective. The sum of reads and writes
networkUsage-KB/sTotal network usage from the guest perspective. The sum of reception and transmission

cpuCostopPct and cpuReadinessPct grow with the number of vCPUs on a multi-vCPU virtual machine, so they can exceed 100%. When judging thresholds, take the vCPU count into account, or use cpuCostopPctPerVcpu and cpuReadinessPerVcpu, which are converted to a per-vCPU basis. The per-vCPU values are always between 0 and 100, so virtual machines with different vCPU counts can be compared on the same basis.

The judgment criteria in the official VMware guide are as follows.

MetricNormalCautionCritical
cpuCostopPctPerVcpu3% or less3–10%10% or more
cpuReadinessPerVcpu5% or less5–10%10% or more

When cpuCostopPctPerVcpu is at the critical level, consider reducing the vCPUs allocated to the virtual machine or moving it to another host. When cpuReadinessPerVcpu is at the critical level, consider insufficient host CPU resources or relocating the virtual machine.

When memVmmemctl, memSwapped, and memCompressed increase, suspect memory pressure on the host. Compression usually occurs before swapping, so when memSwapped also increases after memCompressed has risen, the memory shortage is worsening.

Counters that vCenter does not provide are collected as empty values.

vm_vcenter_inventory

Configuration information of the vCenter server itself. It provides the number of managed objects, the number of active alarms, and the certificate and license expiration information. Use it to check items that need advance preparation, such as vCenter certificate expiration. This category was added in 2.9.23, so every field in the table is new.

  • Collection target: VMware vCenter
FieldTypeUnitDescription
vCenterHostnamestring-Host name of the vCenter server. The representative name that identifies the vCenter
fqdnstring-FQDN of the vCenter server. Collected only when it is registered in DNS
ipstring-Representative IP address of the vCenter server
allIPsstring-List of all IP addresses that can reach the vCenter server
connectionAddressstring-Address (IP or host name) the agent used to connect to the vCenter API
uuidstring-Unique identifier of the vCenter server. Identifies the same instance regardless of a server migration or a name change
overallHealthstring-Overall status of the entire vCenter inventory. Displays the highest severity among green, yellow, and red
redAlarmCountstringcountNumber of currently active critical (red) alarms
yellowAlarmCountstringcountNumber of currently active warning (yellow) alarms
alarmCountstringcountNumber of all currently active alarms
hostCountstringcountNumber of ESXi hosts managed by vCenter
vmCountstringcountNumber of virtual machines managed by vCenter
datacenterCountstringcountNumber of registered data centers
clusterCountstringcountNumber of registered clusters
datastoreCountstringcountNumber of registered datastores
networkCountstringcountNumber of registered networks
resourcePoolCountstringcountNumber of registered resource pools
folderCountstringcountNumber of folders in the vCenter inventory
certificateDaysRemainingstringcountDays remaining until the vCenter HTTPS certificate expires
certificateExpirationstring-Expiration date and time of the vCenter HTTPS certificate
certificateValidFromstring-Date and time from which the vCenter HTTPS certificate is valid
certificateSubjectstring-Subject (DN) information of the vCenter HTTPS server certificate
certificateIssuerstring-Issuer (CA) information that issued the vCenter HTTPS server certificate
certificateThumbprintstring-SHA-256 thumbprint of the vCenter HTTPS certificate
licenseExpirationstring-Expiration date and time of the vCenter license. Can be empty for a perpetual license
licenseEditionstring-Edition of the applied vCenter license
licenseNamestring-Name of the applied vCenter license
licenseTotalstringcountTotal quantity provided by the license
licenseUsedstringcountLicense quantity currently in use
versionstring-vCenter server version
buildstring-vCenter server build number
fullNamestring-Full product name and version string provided by VMware
apiVersionstring-vSphere Web Services API version
deploymentTypestring-vCenter deployment type (for example, Embedded PSC)
timeZonestring-Time zone configured on the vCenter appliance
agentNamestring-Host name of the server where the agent collecting the VMware information is installed

Some items are provided only by the appliance API of vSphere 7 or later. In environments where that API is not available, the values are empty or displayed as substitute values.

Adjust whether to collect with the following option.

whatap.conf
vm.inventory.vcenter.enabled=true    # Whether to collect (Default: true)

vm_vhost_inventory

Configuration information of ESXi hosts. One host becomes one row, and it is sent only when a value changes. It provides everything from the vCenter, data center, and cluster the host belongs to, through the CPU, memory, GPU, and network configuration, to the operational status.

  • Collection target: VMware ESXi
FieldTypeUnitDescription
vCenterServerIpstring-IP address of the vCenter server that collected this ESXi host information. In environments that collect from multiple vCenters, it identifies which vCenter the host belongs to
dataCenterNamestring-Name of the data center that contains the host in the vCenter inventory structure
clusterNamestring-Name of the cluster the host belongs to. Empty or None for a standalone host or a host that is not in a cluster
folderstring-Host folder path where the host is located in the vSphere inventory. Displayed based on the host folder under the data center or a management folder created by the user. Interpret it separately from the actual resource configuration location, such as the cluster, resource pool, or datastore
vHostNamestring-ESXi host name or connection address identified in vCenter. Usually in the form of a host IP or FQDN
esxiHostNameFqdnstring-Fully qualified domain name of the ESXi host. Displayed according to the DNS or host name settings
esxiHostNameShortstring-Short host name of the ESXi host. The name with the domain removed from the FQDN
esxiHostNameDomainstring-Domain area configured in the ESXi host name. Empty when no domain is configured
esxiManagementIpstring-Management IP address of the ESXi host. The representative management IP used for vCenter connections, the management network, and API communication
esxiVmIpsstring-IP information of the VMkernel interfaces configured on the host. Used for management, vMotion, vSAN, iSCSI/NFS, and other network purposes
manufacturerstring-Host hardware manufacturer (for example, HP, Dell, Lenovo)
modelstring-Host hardware model name. A server model or workstation model is displayed
hostTypestring-Configuration type of the host. cluster when it belongs to a cluster, standalone when it is a standalone host
serialNumberstring-Serial number of the host equipment. Used as identifying information for asset management, maintenance contracts, and vendor support requests
uuidstring-Unique identifier of the host system. Serves as supplementary identification even when names are duplicated or the IP changes
cpuModelstring-CPU model name installed on the host (for example, Intel Xeon, Intel Core, AMD EPYC)
cpuSocketsstring-Number of physical CPU sockets. Used for licensing, capacity planning, and checking the physical CPU configuration
cpuCoresstring-Total number of physical CPU cores on the host. The basis for allocatable virtual machine resources and CPU capacity planning
cpuThreadsstring-Number of logical CPU threads including hyper-threading. The logical CPU unit that can actually be scheduled for virtual machines
hyperThreadingEnabledstring-Whether hyper-threading is enabled on the host. Used to interpret the difference between the cpuCores and cpuThreads values
cpuTotalMhzstringMHzTotal processing capacity of all CPUs on the host. Calculated from the number of CPU cores and the clock information
totalMemoryGbstringGiBTotal memory capacity installed on the host. The basis for the capacity available for virtual machine placement and memory resource planning
gpuCountstringcountNumber of physical GPU devices identified on the host. Calculated from the VGA, 3D Controller, and Display Controller class devices among the PCI device information
gpuDevicesstring-List of GPU devices identified on the host. Displays the manufacturer, model name, and PCI device identifier (for example, NVIDIA A100, NVIDIA T4, NVIDIA L40)
gpuProfilesstring-List of vGPU profile or shared passthrough GPU type candidates available on the host. The value can be empty depending on the NVIDIA vGPU Manager, the ESXi and vCenter versions, the license, and how the API exposes them
vmGuestCountstring-Number of virtual machine objects connected to the host. Used to identify the virtual machine placement and density per host
datastoreCountstring-Number of datastores accessible from the host. Used to identify the number of storage connections and the configuration scale available to the host
dataStoresstring-List of datastores accessible from the host. The storage resources where virtual machine disks can be stored
totalCapacityGbstringGiBTotal capacity of the datastores accessible from the host. Shared datastores can be included, so do not treat it as the capacity of the host alone
networkCountstring-Number of networks or port groups connected to the host
networksstring-List of networks or port groups connected to the host. Used to check the network connection range available to virtual machines
nicCountstring-Number of physical NICs configured on the host. The basis for checking the scale of physical connections for the management, virtual machine, vMotion, and storage networks
nicsstring-List of physical NICs configured on the host
vSwitchCountstring-Number of virtual switches configured on the host. Used to identify whether standard or distributed switches are used and the network configuration scale
vSwitchsstring-List of vSwitches configured on the host
networkInfostring-vSwitch or network configuration information on the host
vMotionEnabledstring-Whether vMotion is enabled on the host. Used to determine whether virtual machines can be migrated without downtime
haEnabledstring-Whether HA is enabled in the cluster the host belongs to. None or false for a standalone host or when cluster HA is disabled
productVersionstring-ESXi product version. Used to determine the patch level, feature support, and compatibility
buildNumberstring-ESXi build number. The basis for checking the detailed patch version, responding to security vulnerabilities, and reviewing compatibility
licensestring-Type of VMware license applied to the host. Used to determine the available feature range and operational constraints
bootTimestring-Time the host was last booted. Used to check long-term operation and the recovery point after an incident
upTimestring-Time the host has been running since the last boot. Used to identify servers that have not been restarted for a long time
timezonestring-Time zone information based on the host or vCenter. The reference time for interpreting event times and performance data times
connectionStatestring-Host connection status as seen by vCenter. Displayed as connected, disconnected, notResponding, and so on, and directly related to whether collection is possible
powerStatestring-Power state of the host. poweredOn is normally the operational state
overallStatusstring-Overall host status determined by vCenter. Displayed as green, yellow, red, gray, and so on, and used to quickly determine whether there is a warning or failure
maintenanceModestring-Whether the host is in maintenance mode. When true, the host may be excluded from operation for virtual machine migration, patching, or other work

You can join the virtual machine list with the host list in this table using vHostKey in vm_vmguest_inventory.

vm_vmguest_inventory

Configuration information of virtual machines. One virtual machine becomes one row, and it is sent only when a value changes.

  • Collection target: VMware ESXi
FieldTypeUnitDescriptionRemarks
vHostKey--Identification key of the ESXi host on which the virtual machine is running. The same value as the key in vm_vhost_inventoryNew in 2.9.23
vmNamestring-Display name of the virtual machine managed in vCenter or ESXi. The representative name operators use to identify it in the vSphere environment
guestHostnamestring-Host name recognized inside the guest operating system. Collected through VMware Tools, so the value can be empty depending on the Tools status or the guest settings
vCenterServerInfostring-Information about the vCenter server that collected this virtual machine information. In environments that collect from multiple vCenters, it identifies which vCenter the virtual machine belongs to
datacenterstring-Name of the vCenter data center that contains the virtual machine
folderstring-VM folder path where the virtual machine is located in the vSphere inventory. A logical folder location from the VMs and Templates perspective, separate from the execution or resource allocation location such as the host, cluster, or resource pool
clusterstring-Name of the ESXi cluster the virtual machine belongs to. The value can be empty in a standalone host environment or when it is not in a cluster
vHostInfostring-Information about the ESXi host where the virtual machine is running or registered. The display format can vary between the host name, IP, and FQDN depending on the collection source
resourcePoolstring-Name of the resource pool the virtual machine belongs to. Used to identify the resource policy, allocation structure, and service-level groups
ipAddressstring-Representative IP address identified in the guest operating system. Depending on the VMware Tools status, network settings, and multi-NIC configuration, the value can be empty or show only the representative IP
guestOSstring-Guest operating system type configured for the virtual machine. Based on the OS type selected in vSphere, so it can differ from the actual OS
guestFullNamestring-Detailed name of the guest operating system. Identified through VMware Tools or the virtual machine settings
guestIdstring-Guest operating system identifier used by vSphere (for example, rhel8_64Guest, windows9Server64Guest)
vcpustringcountNumber of virtual CPUs allocated to the virtual machine
socketsstringcountNumber of virtual CPU sockets configured for the virtual machine. Used to check the vCPU configuration and how the guest operating system recognizes the CPUs
coresPerSocketstringcountNumber of cores per socket configured for the virtual machine. Used to check the CPU topology recognized by the guest operating system and the licensing policy
totalMemorystringMiBTotal memory capacity allocated to the virtual machine. The basis for judging the resource allocation scale and whether memory needs to be expanded
vGpuCountstringcountNumber of vGPUs allocated to the virtual machine. Calculated from the vGPU devices connected as Virtual PCI Passthrough devices. 0 for a virtual machine with no vGPU allocated
vGpuProfilesstring-vGPU profile information allocated to the virtual machine (for example, grid_a100-1-5c, grid_t4-2q). The value can be empty or displayed differently depending on the vCenter and ESXi versions, the NVIDIA vGPU Manager configuration, and how the API exposes it
provisionedSpacestringGiBTotal storage capacity provisioned for the virtual machine. Can be larger than the actual usage in a thin provisioning environment
usedSpacestringGiBStorage capacity actually in use by the virtual machine. Used for datastore usage analysis and capacity management
datastorestring-List of datastores in use by the virtual machine. Used to check the storage where the disk files and configuration files are located
networkstring-Network or port group information connected to the virtual machine. Used to check the network connection configuration and to distinguish the service and management networks
vmPathNamestring-Datastore path where the virtual machine configuration file is located. Usually in the [datastore] path/vm.vmx form
vmToolsVersionstring-VMware Tools version installed on the virtual machine. Related to whether guest information collection, IP identification, and heartbeat status checks are possible
templatestring-Whether the object is a VM template. When true, it is a deployment template rather than a running virtual machine
firmwarestring-Firmware type of the virtual machine. Displayed as bios or efi and used to check the boot method, secure boot, and compatibility
versionstring-Virtual hardware version of the virtual machine. Used to determine ESXi and vCenter compatibility, supported features, and whether migration is possible
cpuHotAddEnabledstring-Whether adding vCPUs while the virtual machine is running is enabled. When true, CPUs can be added without powering off the virtual machine
cpuHotRemoveEnabledstring-Whether removing vCPUs while the virtual machine is running is enabled. Whether it actually works depends on the supported operating system and the settings
memoryHotAddEnabledstring-Whether adding memory while the virtual machine is running is enabled. When true, memory can be expanded without powering off the virtual machine
maxMksConnectionsstringcountMaximum number of MKS connections that can access the virtual machine console at the same time. Used to check console access limits and operational access control
creationDatestring-Date and time the virtual machine was created. Used for lifecycle management and tracking newly created virtual machines
uuidstring-BIOS UUID of the virtual machine. It can also be referenced inside the guest operating system, and it can be duplicated depending on how the virtual machine is cloned or recreated
instanceUuidstring-UUID that vCenter uses to identify the virtual machine instance. The main basis for identifying a virtual machine within the same vCenter
annotationstring-Description or note entered in the vSphere virtual machine settings
powerStatestring-Power state of the virtual machine. Displayed as poweredOn, poweredOff, suspended, and so on
overallStatusstring-Overall status of the virtual machine object. Displayed as green, yellow, red, gray, and so on, and used to quickly check for alarms or configuration problems
vmGuestStatestring-State seen from the VMware Tools or guest operating system perspective. Displayed as running, notRunning, shuttingDown, standby, and so on
guestHeartbeatStatusstring-Guest operating system heartbeat status identified through VMware Tools. Displayed as green, yellow, red, gray, and so on

You can join the virtual machine list and the host list with vHostKey. Use it to find all virtual machines placed on a specific host at once.

Note

The existing vCenter monitoring (feature project) will end service on December 31, 2026 and will be replaced by the vCenter feature of the server monitoring product. For more information, see the vCenter monitoring document.