Vcenter Receiver
contrib
Maintainers: @schmikei, @ishleenk17
Source: opentelemetry-collector-contrib
Supported Telemetry
Overview
Prerequisites
This receiver has been built to support ESXi and vCenter versions:- 8
- 7.0
Configuration
| Parameter | Default | Type | Notes |
|---|---|---|---|
| endpoint | String | Endpoint 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 | |
| username | String | Required | |
| password | String | Required | |
| tls | TLSClientSetting | Not Required. Will use defaults for configtls.ClientConfig. By default insecure settings are rejected and certificate verification is on. | |
| proxy_url | String | Not Required. URL of the proxy to use when connecting to the vCenter SDK endpoint i.e: socks5://proxy.hostname.localnet:1080. The http, https, socks5 and socks5h schemes are supported. When unset, the standard HTTP_PROXY/HTTPS_PROXY/NO_PROXY environment variables apply. Unlike those, this setting is scoped to a single receiver instance, so several vcenter/<name> receivers in one collector can each use a different proxy. When it is set, those environment variables are ignored for this receiver and all SDK traffic is sent to the proxy. | |
| collection_interval | 2m | Duration | This 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_delay | 1s | Duration | Defines how long this receiver waits before starting. |
| max_query_metrics | 256 | int | Maximum number of metric IDs per QueryPerf API call. Should match or be lower than your vCenter’s vpxd.stats.maxQueryMetrics setting (default 256). Set to 0 to disable batching. See VMware KB 301449. |
Example Configuration
receivers:
vcenter:
endpoint: http://localhost:15672
username: otelu
password: ${env:VCENTER_PASSWORD}
collection_interval: 5m
initial_delay: 1s
metrics: []
Metrics
Details about the metrics produced by this receiver can be found in metadata.yaml with further documentation in documentation.mdFeature gates
BETA:receiver.vcenter.resourcePoolMemoryUsageAttribute
This feature gate is enabled by default. It adds the memory_usage_type attribute to the
vcenter.resource_pool.memory.usage metric. Disabling the gate retains the previous behavior:
only guest memory usage is emitted, without the attribute.
Metrics
| Metric Name | Description | Unit | Type | Attributes |
|---|---|---|---|---|
✅ vcenter.cluster.cpu.effective | The effective CPU available to the cluster. This value excludes CPU from hosts in maintenance mode or are unresponsive. | MHz | UpDownCounter | |
✅ vcenter.cluster.cpu.limit | The amount of CPU available to the cluster. | MHz | UpDownCounter | |
✅ vcenter.cluster.host.count | The number of hosts in the cluster. | {hosts} | UpDownCounter | host_effective |
✅ vcenter.cluster.memory.effective | The effective available memory of the cluster. | By | UpDownCounter | |
✅ vcenter.cluster.memory.limit | The available memory of the cluster. | By | UpDownCounter | |
✅ vcenter.cluster.vm.count | The number of virtual machines in the cluster. | {virtual_machines} | UpDownCounter | vm_count_power_state |
✅ vcenter.cluster.vm_template.count | The number of virtual machine templates in the cluster. | {virtual_machine_templates} | UpDownCounter | |
✅ vcenter.cluster.vsan.congestions | The congestions of IOs generated by all vSAN clients in the cluster. | {congestions/s} | Gauge | |
✅ vcenter.cluster.vsan.latency.avg | The overall cluster latency while accessing vSAN storage. | us | Gauge | vsan_latency_type |
✅ vcenter.cluster.vsan.operations | The vSAN IOPs of a cluster. | {operations/s} | Gauge | vsan_operation_type |
✅ vcenter.cluster.vsan.throughput | The vSAN throughput of a cluster. | By/s | Gauge | vsan_throughput_direction |
✅ vcenter.datacenter.cluster.count | The number of clusters in the datacenter. | {clusters} | UpDownCounter | entity_status |
✅ vcenter.datacenter.cpu.limit | The total amount of CPU available to the datacenter. | MHz | UpDownCounter | |
✅ vcenter.datacenter.datastore.count | The number of datastores in the datacenter. | {datastores} | UpDownCounter | |
✅ vcenter.datacenter.disk.space | The amount of available and used disk space in the datacenter. | By | UpDownCounter | disk_state |
✅ vcenter.datacenter.host.count | The number of hosts in the datacenter. | {hosts} | UpDownCounter | entity_status, host_power_state |
✅ vcenter.datacenter.memory.limit | The total amount of memory available to the datacenter. | By | UpDownCounter | |
✅ vcenter.datacenter.vm.count | The number of VM’s in the datacenter. | {virtual_machines} | UpDownCounter | entity_status, vm_count_power_state |
✅ vcenter.datastore.disk.usage | The amount of space in the datastore. | By | UpDownCounter | disk_state |
✅ vcenter.datastore.disk.utilization | The utilization of the datastore. | % | Gauge | |
✅ vcenter.host.cpu.capacity | Total CPU capacity of the host system. | MHz | UpDownCounter | |
✅ vcenter.host.cpu.reserved | The CPU of the host reserved for use by virtual machines. | MHz | UpDownCounter | cpu_reservation_type |
✅ vcenter.host.cpu.usage | The amount of CPU used by the host. | MHz | UpDownCounter | |
✅ vcenter.host.cpu.utilization | The CPU utilization of the host system. | % | Gauge | |
✅ vcenter.host.disk.latency.avg | The latency of operations to the host system’s disk. | ms | Gauge | disk_direction, object_name |
✅ vcenter.host.disk.latency.max | Highest latency value across all disks used by the host. | ms | Gauge | object_name |
✅ vcenter.host.disk.throughput | Average number of kilobytes read from or written to the disk each second. | {KiBy/s} | UpDownCounter | disk_direction, object_name |
❌ vcenter.host.memory.active | The amount of memory the host’s powered-on VMs are actively using. | MiBy | UpDownCounter | |
❌ vcenter.host.memory.ballooned | The amount of guest physical memory reclaimed from the host’s VMs via the balloon driver. | MiBy | UpDownCounter | |
❌ vcenter.host.memory.capacity | Total memory capacity of the host system. | MiBy | UpDownCounter | |
❌ vcenter.host.memory.granted | The amount of machine memory that is granted to the powered-on VMs on the host. | MiBy | UpDownCounter | |
✅ vcenter.host.memory.usage | The amount of memory the host system is using. | MiBy | UpDownCounter | |
✅ vcenter.host.memory.utilization | The percentage of the host system’s memory capacity that is being utilized. | % | Gauge | |
✅ vcenter.host.network.packet.drop.rate | The rate of packets dropped across each physical NIC (network interface controller) instance on the host. | {packets/s} | Gauge | throughput_direction, object_name |
✅ vcenter.host.network.packet.error.rate | The rate of packet errors transmitted or received on the host network. | {errors/s} | Gauge | throughput_direction, object_name |
✅ vcenter.host.network.packet.rate | The rate of packets transmitted or received across each physical NIC (network interface controller) instance on the host. | {packets/s} | Gauge | throughput_direction, object_name |
✅ vcenter.host.network.throughput | The amount of data that was transmitted or received over the network by the host. | {KiBy/s} | UpDownCounter | throughput_direction, object_name |
✅ vcenter.host.network.usage | The sum of the data transmitted and received for all the NIC instances of the host. | {KiBy/s} | UpDownCounter | object_name |
✅ vcenter.host.vsan.cache.hit_rate | The host’s read IOs which could be satisfied by the local client cache. | % | Gauge | |
✅ vcenter.host.vsan.congestions | The congestions of IOs generated by all vSAN clients in the host. | {congestions/s} | Gauge | |
✅ vcenter.host.vsan.latency.avg | The host latency while accessing vSAN storage. | us | Gauge | vsan_latency_type |
✅ vcenter.host.vsan.operations | The vSAN IOPs of a host. | {operations/s} | Gauge | vsan_operation_type |
✅ vcenter.host.vsan.throughput | The vSAN throughput of a host. | By/s | Gauge | vsan_throughput_direction |
✅ vcenter.resource_pool.cpu.shares | The amount of shares of CPU in the resource pool. | {shares} | UpDownCounter | |
✅ vcenter.resource_pool.cpu.usage | The usage of the CPU used by the resource pool. | MHz | UpDownCounter | |
✅ vcenter.resource_pool.memory.ballooned | The amount of memory in a resource pool that is ballooned due to virtualization. | MiBy | UpDownCounter | |
✅ vcenter.resource_pool.memory.granted | The amount of memory that is granted to VMs in the resource pool from shared and non-shared host memory. | MiBy | UpDownCounter | memory_granted_type |
✅ vcenter.resource_pool.memory.shares | The amount of shares of memory in the resource pool. | {shares} | UpDownCounter | |
✅ vcenter.resource_pool.memory.swapped | The amount of memory that is granted to VMs in the resource pool from the host’s swap space. | MiBy | UpDownCounter | |
✅ vcenter.resource_pool.memory.usage | The usage of the memory by the resource pool. | MiBy | UpDownCounter | memory_usage_type |
✅ vcenter.vm.cpu.readiness | Percentage of time that the virtual machine was ready, but could not get scheduled to run on the physical CPU. | % | Gauge | |
❌ vcenter.vm.cpu.time | CPU time spent in idle, ready or wait state. | % | Gauge | cpu_state, object_name |
✅ vcenter.vm.cpu.usage | The amount of CPU used by the VM. | MHz | UpDownCounter | |
✅ vcenter.vm.cpu.utilization | The CPU utilization of the VM. | % | Gauge | |
✅ vcenter.vm.disk.latency.avg | The latency of operations to the virtual machine’s disk. | ms | Gauge | disk_direction, disk_type, object_name |
✅ vcenter.vm.disk.latency.max | The highest reported total latency (device and kernel times) over an interval of 20 seconds. | ms | Gauge | object_name |
✅ vcenter.vm.disk.throughput | Average number of kilobytes read from or written to the virtual disk each second. | {KiBy/s} | Gauge | disk_direction, object_name |
✅ vcenter.vm.disk.usage | The amount of storage space used by the virtual machine. | By | UpDownCounter | disk_state |
✅ vcenter.vm.disk.utilization | The utilization of storage on the virtual machine. | % | Gauge | |
✅ vcenter.vm.memory.ballooned | The amount of memory that is ballooned due to virtualization. | MiBy | UpDownCounter | |
❌ vcenter.vm.memory.granted | The amount of memory that is granted to a VM. | MiBy | UpDownCounter | |
✅ vcenter.vm.memory.swapped | The portion of memory that is granted to this VM from the host’s swap space. | MiBy | UpDownCounter | |
✅ vcenter.vm.memory.swapped_ssd | The amount of memory swapped to fast disk device such as SSD. | KiBy | UpDownCounter | |
✅ vcenter.vm.memory.usage | The amount of memory that is used by the virtual machine. | MiBy | UpDownCounter | |
✅ vcenter.vm.memory.utilization | The memory utilization of the VM. | % | Gauge | |
❌ vcenter.vm.network.broadcast.packet.rate | The rate of broadcast packets transmitted or received by each vNIC (virtual network interface controller) on the virtual machine. | {packets/s} | Gauge | throughput_direction, object_name |
❌ vcenter.vm.network.multicast.packet.rate | The rate of multicast packets transmitted or received by each vNIC (virtual network interface controller) on the virtual machine. | {packets/s} | Gauge | throughput_direction, object_name |
✅ vcenter.vm.network.packet.drop.rate | The rate of transmitted or received packets dropped by each vNIC (virtual network interface controller) on the virtual machine. | {packets/s} | Gauge | throughput_direction, object_name |
✅ vcenter.vm.network.packet.rate | The rate of packets transmitted or received by each vNIC (virtual network interface controller) on the virtual machine. | {packets/s} | Gauge | throughput_direction, object_name |
✅ vcenter.vm.network.throughput | The amount of data that was transmitted or received over the network of the virtual machine. | By/s | UpDownCounter | throughput_direction, object_name |
✅ vcenter.vm.network.usage | The network utilization combined transmit and receive rates during an interval. | {KiBy/s} | UpDownCounter | object_name |
✅ vcenter.vm.vsan.latency.avg | The virtual machine latency while accessing vSAN storage. | us | Gauge | vsan_latency_type |
✅ vcenter.vm.vsan.operations | The vSAN IOPs of a virtual machine. | {operations/s} | Gauge | vsan_operation_type |
✅ vcenter.vm.vsan.throughput | The vSAN throughput of a virtual machine. | By/s | Gauge | vsan_throughput_direction |
Attributes
| Attribute Name | Description | Type | Values |
|---|---|---|---|
cpu_reservation_type | The type of CPU reservation for the host. | string | total, used |
cpu_state | CPU time spent in idle, ready or idle state. | string | idle, ready, wait |
direction | The direction of disk latency. | string | read, write |
disk_state | The state of storage and whether it is already allocated or free. | string | available, used |
disk_type | The type of storage device that is being recorded. | string | virtual, physical |
status | The current status of the managed entity. | string | red, yellow, green, gray |
effective | Whether the host is effective in the vCenter cluster. | bool | |
power_state | The current power state of the host. | string | on, off, standby, unknown |
type | The type of memory granted. | string | private, shared |
type | The type of memory usage. | string | guest, host, overhead |
object | The object on the virtual machine or host that is being reported on. | string | |
direction | The direction of network throughput. | string | transmitted, received |
power_state | The current power state of the virtual machine. | string | on, off, suspended, unknown |
type | The type of vSAN latency. | string | read, write |
type | The type of vSAN operation. | string | read, write, unmap |
direction | The type of vSAN throughput. | string | read, write |
Resource Attributes
| Attribute Name | Description | Type | Enabled |
|---|---|---|---|
vcenter.cluster.name | The name of the vCenter cluster. | string | ✅ |
vcenter.datacenter.name | The name of the vCenter datacenter. | string | ✅ |
vcenter.datastore.name | The name of the vCenter datastore. | string | ✅ |
vcenter.host.name | The hostname of the vCenter ESXi host. | string | ✅ |
vcenter.resource_pool.inventory_path | The inventory path of the resource pool. | string | ✅ |
vcenter.resource_pool.name | The name of the resource pool. | string | ✅ |
vcenter.virtual_app.inventory_path | The inventory path of the vApp. | string | ✅ |
vcenter.virtual_app.name | The name of the vApp. | string | ✅ |
vcenter.vm.id | The instance UUID of the virtual machine. | string | ✅ |
vcenter.vm.name | The name of the virtual machine. | string | ✅ |
vcenter.vm_template.id | The instance UUID of the virtual machine template. | string | ✅ |
vcenter.vm_template.name | The name of the virtual machine template. | string | ✅ |
Configuration
Example Configuration
vcenter:
endpoint: http://vcsa.host.localnet
username: otelu
password: ${env:VCENTER_PASSWORD}
proxy_url: socks5://proxy.host.localnet:1080
collection_interval: 5m
max_query_metrics: 128
metrics:
vcenter.host.cpu.utilization:
enabled: false
Last generated: 2026-10-05