Skip to main content

Vcenter Receiver

Status Available in: contrib Maintainers: @schmikei, @ishleenk17 Source: opentelemetry-collector-contrib

Supported Telemetry

Metrics

Overview

Prerequisites

This receiver has been built to support ESXi and vCenter versions:
  • 8
  • 7.0
A β€œRead Only” user assigned to a vSphere with permissions to the vCenter server, cluster and all subsequent resources being monitored must be specified in order for the receiver to retrieve information about them.

Configuration

ParameterDefaultTypeNotes
endpointStringEndpoint to the vCenter Server or ESXi host that has the sdk path enabled. Required. The expected format is <protocol>://<hostname>

i.e: https://vcsa.hostname.localnet
usernameStringRequired
passwordStringRequired
tlsTLSClientSettingNot Required. Will use defaults for configtls.ClientConfig. By default insecure settings are rejected and certificate verification is on.
collection_interval2mDurationThis receiver collects metrics on an interval. If the vCenter is fairly large, this value may need to be increased. Valid time units are ns, us (or Β΅s), ms, s, m, h
initial_delay1sDurationDefines how long this receiver waits before starting.

Example Configuration

receivers:
  vcenter:
    endpoint: http://localhost:15672
    username: otelu
    password: ${env:VCENTER_PASSWORD}
    collection_interval: 5m
    initial_delay: 1s
    metrics: []
The full list of settings exposed for this receiver are documented in config.go with detailed sample configurations in testdata/config.yaml. TLS config is documented further under the opentelemetry collector’s configtls package.

Metrics

Details about the metrics produced by this receiver can be found in metadata.yaml with further documentation in documentation.md

Feature gates

ALPHA: receiver.vcenter.resourcePoolMemoryUsageAttribute The feature gate receiver.vcenter.resourcePoolMemoryUsageAttribute once enabled will enable the memory usage type attribute for the vcenter.resource_pool.memory.usage metric. This feature gate will eventually be enabled by default, and eventually the old implementation will be removed. It aims to give users time to migrate to the new implementation. The target release for this featuregate to be enabled by default is v0.107.0.

Metrics

Metric NameDescriptionUnitTypeAttributes
βœ… vcenter.cluster.cpu.effectiveThe effective CPU available to the cluster. This value excludes CPU from hosts in maintenance mode or are unresponsive.MHzUpDownCounter
βœ… vcenter.cluster.cpu.limitThe amount of CPU available to the cluster.MHzUpDownCounter
βœ… vcenter.cluster.host.countThe number of hosts in the cluster.{hosts}UpDownCounterhost_effective
βœ… vcenter.cluster.memory.effectiveThe effective available memory of the cluster.ByUpDownCounter
βœ… vcenter.cluster.memory.limitThe available memory of the cluster.ByUpDownCounter
βœ… vcenter.cluster.vm.countThe number of virtual machines in the cluster.{virtual_machines}UpDownCountervm_count_power_state
βœ… vcenter.cluster.vm_template.countThe number of virtual machine templates in the cluster.{virtual_machine_templates}UpDownCounter
βœ… vcenter.cluster.vsan.congestionsThe congestions of IOs generated by all vSAN clients in the cluster.{congestions/s}Gauge
βœ… vcenter.cluster.vsan.latency.avgThe overall cluster latency while accessing vSAN storage.usGaugevsan_latency_type
βœ… vcenter.cluster.vsan.operationsThe vSAN IOPs of a cluster.{operations/s}Gaugevsan_operation_type
βœ… vcenter.cluster.vsan.throughputThe vSAN throughput of a cluster.By/sGaugevsan_throughput_direction
βœ… vcenter.datacenter.cluster.countThe number of clusters in the datacenter.{clusters}UpDownCounterentity_status
βœ… vcenter.datacenter.cpu.limitThe total amount of CPU available to the datacenter.MHzUpDownCounter
βœ… vcenter.datacenter.datastore.countThe number of datastores in the datacenter.{datastores}UpDownCounter
βœ… vcenter.datacenter.disk.spaceThe amount of available and used disk space in the datacenter.ByUpDownCounterdisk_state
βœ… vcenter.datacenter.host.countThe number of hosts in the datacenter.{hosts}UpDownCounterentity_status, host_power_state
βœ… vcenter.datacenter.memory.limitThe total amount of memory available to the datacenter.ByUpDownCounter
βœ… vcenter.datacenter.vm.countThe number of VM’s in the datacenter.{virtual_machines}UpDownCounterentity_status, vm_count_power_state
βœ… vcenter.datastore.disk.usageThe amount of space in the datastore.ByUpDownCounterdisk_state
βœ… vcenter.datastore.disk.utilizationThe utilization of the datastore.%Gauge
βœ… vcenter.host.cpu.capacityTotal CPU capacity of the host system.MHzUpDownCounter
βœ… vcenter.host.cpu.reservedThe CPU of the host reserved for use by virtual machines.MHzUpDownCountercpu_reservation_type
βœ… vcenter.host.cpu.usageThe amount of CPU used by the host.MHzUpDownCounter
βœ… vcenter.host.cpu.utilizationThe CPU utilization of the host system.%Gauge
βœ… vcenter.host.disk.latency.avgThe latency of operations to the host system’s disk.msGaugedisk_direction, object_name
βœ… vcenter.host.disk.latency.maxHighest latency value across all disks used by the host.msGaugeobject_name
βœ… vcenter.host.disk.throughputAverage number of kilobytes read from or written to the disk each second.{KiBy/s}UpDownCounterdisk_direction, object_name
❌ vcenter.host.memory.capacityTotal memory capacity of the host system.MiByUpDownCounter
βœ… vcenter.host.memory.usageThe amount of memory the host system is using.MiByUpDownCounter
βœ… vcenter.host.memory.utilizationThe percentage of the host system’s memory capacity that is being utilized.%Gauge
βœ… vcenter.host.network.packet.drop.rateThe rate of packets dropped across each physical NIC (network interface controller) instance on the host.{packets/s}Gaugethroughput_direction, object_name
βœ… vcenter.host.network.packet.error.rateThe rate of packet errors transmitted or received on the host network.{errors/s}Gaugethroughput_direction, object_name
βœ… vcenter.host.network.packet.rateThe rate of packets transmitted or received across each physical NIC (network interface controller) instance on the host.{packets/s}Gaugethroughput_direction, object_name
βœ… vcenter.host.network.throughputThe amount of data that was transmitted or received over the network by the host.{KiBy/s}UpDownCounterthroughput_direction, object_name
βœ… vcenter.host.network.usageThe sum of the data transmitted and received for all the NIC instances of the host.{KiBy/s}UpDownCounterobject_name
βœ… vcenter.host.vsan.cache.hit_rateThe host’s read IOs which could be satisfied by the local client cache.%Gauge
βœ… vcenter.host.vsan.congestionsThe congestions of IOs generated by all vSAN clients in the host.{congestions/s}Gauge
βœ… vcenter.host.vsan.latency.avgThe host latency while accessing vSAN storage.usGaugevsan_latency_type
βœ… vcenter.host.vsan.operationsThe vSAN IOPs of a host.{operations/s}Gaugevsan_operation_type
βœ… vcenter.host.vsan.throughputThe vSAN throughput of a host.By/sGaugevsan_throughput_direction
βœ… vcenter.resource_pool.cpu.sharesThe amount of shares of CPU in the resource pool.{shares}UpDownCounter
βœ… vcenter.resource_pool.cpu.usageThe usage of the CPU used by the resource pool.MHzUpDownCounter
βœ… vcenter.resource_pool.memory.balloonedThe amount of memory in a resource pool that is ballooned due to virtualization.MiByUpDownCounter
βœ… vcenter.resource_pool.memory.grantedThe amount of memory that is granted to VMs in the resource pool from shared and non-shared host memory.MiByUpDownCountermemory_granted_type
βœ… vcenter.resource_pool.memory.sharesThe amount of shares of memory in the resource pool.{shares}UpDownCounter
βœ… vcenter.resource_pool.memory.swappedThe amount of memory that is granted to VMs in the resource pool from the host’s swap space.MiByUpDownCounter
βœ… vcenter.resource_pool.memory.usageThe usage of the memory by the resource pool.MiByUpDownCountermemory_usage_type
βœ… vcenter.vm.cpu.readinessPercentage of time that the virtual machine was ready, but could not get scheduled to run on the physical CPU.%Gauge
❌ vcenter.vm.cpu.timeCPU time spent in idle, ready or wait state.%Gaugecpu_state, object_name
βœ… vcenter.vm.cpu.usageThe amount of CPU used by the VM.MHzUpDownCounter
βœ… vcenter.vm.cpu.utilizationThe CPU utilization of the VM.%Gauge
βœ… vcenter.vm.disk.latency.avgThe latency of operations to the virtual machine’s disk.msGaugedisk_direction, disk_type, object_name
βœ… vcenter.vm.disk.latency.maxThe highest reported total latency (device and kernel times) over an interval of 20 seconds.msGaugeobject_name
βœ… vcenter.vm.disk.throughputAverage number of kilobytes read from or written to the virtual disk each second.{KiBy/s}Gaugedisk_direction, object_name
βœ… vcenter.vm.disk.usageThe amount of storage space used by the virtual machine.ByUpDownCounterdisk_state
βœ… vcenter.vm.disk.utilizationThe utilization of storage on the virtual machine.%Gauge
βœ… vcenter.vm.memory.balloonedThe amount of memory that is ballooned due to virtualization.MiByUpDownCounter
❌ vcenter.vm.memory.grantedThe amount of memory that is granted to a VM.MiByUpDownCounter
βœ… vcenter.vm.memory.swappedThe portion of memory that is granted to this VM from the host’s swap space.MiByUpDownCounter
βœ… vcenter.vm.memory.swapped_ssdThe amount of memory swapped to fast disk device such as SSD.KiByUpDownCounter
βœ… vcenter.vm.memory.usageThe amount of memory that is used by the virtual machine.MiByUpDownCounter
βœ… vcenter.vm.memory.utilizationThe memory utilization of the VM.%Gauge
❌ vcenter.vm.network.broadcast.packet.rateThe rate of broadcast packets transmitted or received by each vNIC (virtual network interface controller) on the virtual machine.{packets/s}Gaugethroughput_direction, object_name
❌ vcenter.vm.network.multicast.packet.rateThe rate of multicast packets transmitted or received by each vNIC (virtual network interface controller) on the virtual machine.{packets/s}Gaugethroughput_direction, object_name
βœ… vcenter.vm.network.packet.drop.rateThe rate of transmitted or received packets dropped by each vNIC (virtual network interface controller) on the virtual machine.{packets/s}Gaugethroughput_direction, object_name
βœ… vcenter.vm.network.packet.rateThe rate of packets transmitted or received by each vNIC (virtual network interface controller) on the virtual machine.{packets/s}Gaugethroughput_direction, object_name
βœ… vcenter.vm.network.throughputThe amount of data that was transmitted or received over the network of the virtual machine.By/sUpDownCounterthroughput_direction, object_name
βœ… vcenter.vm.network.usageThe network utilization combined transmit and receive rates during an interval.{KiBy/s}UpDownCounterobject_name
βœ… vcenter.vm.vsan.latency.avgThe virtual machine latency while accessing vSAN storage.usGaugevsan_latency_type
βœ… vcenter.vm.vsan.operationsThe vSAN IOPs of a virtual machine.{operations/s}Gaugevsan_operation_type
βœ… vcenter.vm.vsan.throughputThe vSAN throughput of a virtual machine.By/sGaugevsan_throughput_direction

Attributes

Attribute NameDescriptionTypeValues
cpu_reservation_typeThe type of CPU reservation for the host.stringtotal, used
cpu_stateCPU time spent in idle, ready or idle state.stringidle, ready, wait
directionThe direction of disk latency.stringread, write
disk_stateThe state of storage and whether it is already allocated or free.stringavailable, used
disk_typeThe type of storage device that is being recorded.stringvirtual, physical
statusThe current status of the managed entity.stringred, yellow, green, gray
effectiveWhether the host is effective in the vCenter cluster.bool
power_stateThe current power state of the host.stringon, off, standby, unknown
typeThe type of memory granted.stringprivate, shared
typeThe type of memory usage.stringguest, host, overhead
objectThe object on the virtual machine or host that is being reported on.string
directionThe direction of network throughput.stringtransmitted, received
power_stateThe current power state of the virtual machine.stringon, off, suspended, unknown
typeThe type of vSAN latency.stringread, write
typeThe type of vSAN operation.stringread, write, unmap
directionThe type of vSAN throughput.stringread, write

Resource Attributes

Attribute NameDescriptionTypeEnabled
vcenter.cluster.nameThe name of the vCenter cluster.stringβœ…
vcenter.datacenter.nameThe name of the vCenter datacenter.stringβœ…
vcenter.datastore.nameThe name of the vCenter datastore.stringβœ…
vcenter.host.nameThe hostname of the vCenter ESXi host.stringβœ…
vcenter.resource_pool.inventory_pathThe inventory path of the resource pool.stringβœ…
vcenter.resource_pool.nameThe name of the resource pool.stringβœ…
vcenter.virtual_app.inventory_pathThe inventory path of the vApp.stringβœ…
vcenter.virtual_app.nameThe name of the vApp.stringβœ…
vcenter.vm.idThe instance UUID of the virtual machine.stringβœ…
vcenter.vm.nameThe name of the virtual machine.stringβœ…
vcenter.vm_template.idThe instance UUID of the virtual machine template.stringβœ…
vcenter.vm_template.nameThe name of the virtual machine template.stringβœ…

Configuration

Example Configuration

vcenter:
  endpoint: http://vcsa.host.localnet
  username: otelu
  password: ${env:VCENTER_PASSWORD}
  collection_interval: 5m
  metrics:
    vcenter.host.cpu.utilization:
      enabled: false

Last generated: 2026-04-13