Skip to main content

VMware vCenter Server

Plugin: go.d.plugin Module: vsphere

Overview

Monitors vSphere resources from vCenter servers.

Includes hosts, VMs, datastores, clusters, resource pools, and inventory counts.

Use the vcsa collector for vCenter Server Appliance health.

Use the snmp collector with the vmware-esx profile for ESXi hardware, HBA, and environment sensors.

Those surfaces are intentionally not duplicated here by default.

Warning: The vsphere collector cannot re-login and continue collecting metrics after a vCenter reboot. go.d.plugin needs to be restarted.

This collector is supported on all platforms.

This collector supports collecting metrics from multiple instances of this integration, including remote instances.

Default Behavior

Auto-Detection

This integration doesn't support auto-detection.

Limits

The default configuration for this integration does not impose any limits on data collection.

Performance Impact

The default update_every is 20 seconds, and it doesn't make sense to decrease the value. VMware real-time statistics are generated at the 20-second specificity.

Note: Datastore and cluster performance metrics use 300-second (5-minute) historical intervals because VMware does not support real-time statistics for these entity types. Datastore capacity/status, cluster properties, and resource pool statistics are updated every collection cycle. Host and VM metrics use real-time 20-second intervals.

It is likely that 20 seconds is not enough for big installations and the value should be tuned.

To size a job, run the collector in debug mode and compare the discovery and collection timing lines. Discovery runs in a separate goroutine, while collection timing must stay comfortably below update_every.

Useful log lines include:

  • discovering : discovered ... the whole process took ...
  • scraping : scraped metrics for ... hosts, process took ...
  • scraping : scraped metrics for ... vms, process took ...
  • metrics collected, process took ...

Adjust update_every and timeout based on those timings and on the number of enabled optional surfaces.

Setup

You can configure the vsphere collector in two ways:

MethodBest forHow to
UIFast setup without editing filesGo to Nodes → Configure this node → Collectors → Jobs, search for vsphere, then click + to add a job.
FileIf you prefer configuring via file, or need to automate deployments (e.g., with Ansible)Edit go.d/vsphere.conf and add a job.
important

UI configuration requires paid Netdata Cloud plan.

Prerequisites

vCenter read-only access

Configure a vCenter account that can read inventory objects, properties, and performance counters for the datacenters, clusters, ESXi hosts, VMs, datastores, and resource pools selected by the include filters.

Optional vSphere metadata permissions

tag_categories requires access to the vSphere Automation/CIS tagging APIs for the selected categories. custom_attributes requires access to custom field definitions and values for the selected inventory objects.

Optional datastore cluster, vSAN, and network data

collect_datastore_clusters requires read access to StoragePod objects. collect_vsan requires vSAN Management API access and the vSAN Performance Service on the target clusters. collect_network_topology requires read access to Network and Distributed Virtual Port Group inventory objects.

Configuration

Options

The following options can be defined globally: update_every, autodetection_retry.

Config options
GroupOptionDescriptionDefaultRequired
Collectionupdate_everyData collection interval (seconds).20no
autodetection_retryAutodetection retry interval (seconds).60no
TargeturlTarget endpoint URL.https://vcenter.localyes
timeoutHTTP request timeout (seconds).20no
Discoverydiscovery_intervalHosts, VMs, datastores, clusters, and resource pools discovery interval (seconds).300no
Labelstag_categoriesvSphere tag category allowlist.no
custom_attributesvSphere custom attribute allowlist.no
High Cardinalitycollect_datastore_clustersCollect datastore cluster capacity and Storage DRS status.nono
datastore_cluster_includeDatastore cluster selector./*no
collect_vsanCollect vSAN metrics.nono
vsan_cluster_includevSAN cluster selector./*no
vsan_host_includevSAN host selector./*no
vsan_vm_includevSAN VM selector./*no
Collectioncollect_network_topologyDiscover networks for the vSphere Topology function.nono
Filtershost_includeHosts selector (filter)./*no
vm_includeVM selector (filter)./*no
datastore_includeDatastore selector (filter)./*no
cluster_includeCluster selector (filter). Resource pools follow their owning cluster./*no
HTTP AuthusernameUsername for Basic HTTP authentication.yes
passwordPassword for Basic HTTP authentication.yes
TLStls_skip_verifySkip TLS certificate and hostname verification (insecure).nono
tls_caPath to CA bundle used to validate the server certificate.no
tls_certPath to client TLS certificate (for mTLS).no
tls_keyPath to client TLS private key (for mTLS).no
Virtual NodevnodeAssociates this data collection job with a Virtual Node.no
tag_categories

Disabled by default because vSphere tags are user-defined metadata and can expose internal names, ownership, business unit, or environment details. Each list item is one glob pattern matching vSphere tag category names, so names with spaces are supported. Use * only when every tag category is intentional.

Matching categories are exposed as labels named vsphere_tag_<sanitized_category>. When a resource has multiple tags in the same category, values are sorted and joined with the pipe character.

tag_categories:
- "Environment"
- "Business Unit"
custom_attributes

Disabled by default because vSphere custom attributes are user-defined metadata and can expose internal names, ownership, business unit, operational data, or secrets stored by administrators. Custom attribute values are sent verbatim as labels. Each list item is one glob pattern matching custom attribute names, so names with spaces are supported. Use * only when every custom attribute is intentional and none of the matched values contain secrets.

Matching attributes are exposed as labels named vsphere_custom_attribute_<sanitized_name>.

custom_attributes:
- "Owner"
- "Cost Center"
collect_datastore_clusters

Disabled by default because it adds a separate vSphere resource class (StoragePod) to the collector output. When enabled, the collector emits aggregate datastore-cluster capacity, utilization, and Storage DRS status.

datastore_cluster_include

Applies only when collect_datastore_clusters is enabled. Values use Netdata simple patterns and match /Datacenter/DatastoreCluster, the datastore-cluster name, or the vSphere managed object ID. Matching datastore clusters are included in metrics, labels, cached discovery state, and topology function output.

datastore_cluster_include:
- "/*"
collect_vsan

Disabled by default because it uses the vSAN Management API and vSAN Performance Service, and adds extra vCenter queries. When enabled, it emits vSAN cluster capacity, vSAN cluster health, and vSAN cluster, host, and VM performance metrics for discovered vSAN-enabled clusters. Use the vSAN selectors below to choose the concrete vSAN performance entity refs queried. vSAN events are not collected by this option.

vsan_cluster_include

Applies only when collect_vsan is enabled. Values use Netdata simple patterns and match /Datacenter/Cluster, the cluster name, the vSphere managed object ID, or vsan_uuid:<uuid>.

vsan_cluster_include:
- "/*"
- "vsan_uuid:52b..."
vsan_host_include

Applies only when collect_vsan is enabled. Values use Netdata simple patterns and match /Datacenter/Cluster/Host, the host name, the vSphere managed object ID, or vsan_node_uuid:<uuid>.

vsan_host_include:
- "/*"
- "vsan_node_uuid:52b..."
vsan_vm_include

Applies only when collect_vsan is enabled. Values use Netdata simple patterns and match /Datacenter/Cluster/Host/VM, the VM name, the vSphere managed object ID, or instance_uuid:<uuid>.

vsan_vm_include:
- "/*"
- "instance_uuid:52b..."
collect_network_topology

Disabled by default to avoid extra vCenter discovery calls for existing users. When enabled, the collector discovers vSphere Network and Distributed Virtual Port Group objects and includes their cached accessibility/status and host/VM relationships in the vSphere Topology function. It does not create charts or metrics.

host_include

Metrics of hosts matching the selector will be collected.

  • Include pattern syntax: "/Datacenter pattern/Cluster pattern/Host pattern".

  • Match pattern syntax: simple patterns.

  • Syntax:

    host_include:
    - '/DC1/*' # all hosts from datacenter DC1
    - '/DC2/*/!Host2 *' # all hosts from datacenter DC2 except HOST2
    - '/DC3/Cluster3/*' # all hosts from DC3, cluster Cluster3
vm_include

Metrics of VMs matching the selector will be collected.

  • Include pattern syntax: "/Datacenter pattern/Cluster pattern/Host pattern/VM pattern".

  • Match pattern syntax: simple patterns.

  • Syntax:

    vm_include:
    - '/DC1/*' # all VMs from datacenter DC1
    - '/DC2/*/*/!VM2 *' # all VMs from DC2 except VM2
    - '/DC3/Cluster3/*' # all VMs from DC3, cluster Cluster3
datastore_include

Metrics of datastores matching the selector will be collected.

  • Include pattern syntax: "/Datacenter pattern/Datastore pattern".

  • Match pattern syntax: simple patterns.

  • Syntax:

    datastore_include:
    - '/DC1/*' # all datastores from datacenter DC1
    - '/DC2/!DS2 *' # all datastores from DC2 except DS2
cluster_include

Metrics of clusters and their resource pools matching the selector will be collected.

  • Include pattern syntax: "/Datacenter pattern/Cluster pattern".

  • Match pattern syntax: simple patterns.

  • Syntax:

    cluster_include:
    - '/DC1/*' # all clusters from datacenter DC1
    - '/DC2/!Cluster2 *' # all clusters from DC2 except Cluster2

via UI

Configure the vsphere collector from the Netdata web interface:

  1. Go to Nodes.
  2. Select the node where you want the vsphere data-collection job to run and click the (Configure this node). That node will run the data collection.
  3. The Collectors → Jobs view opens by default.
  4. In the Search box, type vsphere (or scroll the list) to locate the vsphere collector.
  5. Click the + next to the vsphere collector to add a new job.
  6. Fill in the job fields, then click Test to verify the configuration and Submit to save.
    • Test runs the job with the provided settings and shows whether data can be collected.
    • If it fails, an error message appears with details (for example, connection refused, timeout, or command execution errors), so you can adjust and retest.

via File

The configuration file name for this integration is go.d/vsphere.conf.

The file format is YAML. Generally, the structure is:

update_every: 1
autodetection_retry: 0
jobs:
- name: some_name1
- name: some_name2

You can edit the configuration file using the edit-config script from the Netdata config directory.

cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
sudo ./edit-config go.d/vsphere.conf
Examples
Basic

A basic example configuration.

jobs:
- name : vcenter1
url : https://203.0.113.1
username : [email protected]
password : somepassword

Multi-instance

Note: When you define multiple jobs, their names must be unique.

Collecting metrics from local and remote instances.

Config
jobs:
- name : vcenter1
url : https://203.0.113.1
username : [email protected]
password : somepassword

- name : vcenter2
url : https://203.0.113.10
username : [email protected]
password : somepassword

Alerts

The following alerts are available:

Alert nameOn metricDescription
vsphere_vm_cpu_utilization vsphere.vm_cpu_utilizationVirtual Machine CPU utilization
vsphere_vm_mem_utilization vsphere.vm_mem_utilizationVirtual Machine memory utilization
vsphere_vm_snapshot_chain_depth vsphere.vm_snapshot_max_chain_depthVirtual Machine snapshot maximum chain depth
vsphere_vm_snapshot_age vsphere.vm_snapshot_max_ageVirtual Machine oldest snapshot age
vsphere_host_cpu_utilization vsphere.host_cpu_utilizationESXi Host CPU utilization
vsphere_host_mem_utilization vsphere.host_mem_utilizationESXi Host memory utilization

Metrics

Metrics grouped by scope.

The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.

Per inventory

These metrics refer to the discovered vSphere inventory for this collector job.

Labels:

LabelDescription
idStatic inventory instance ID

Metrics:

MetricDimensionsUnit
vsphere.inventory_objectsdatacenters, folders, clusters, hosts, vms, datastores, resource_poolsobjects

Per virtual machine

These metrics refer to the Virtual Machine.

Labels:

LabelDescription
idvSphere managed object reference ID
datacenterDatacenter name
clusterCluster name
hostHost name
vmVirtual Machine name
vsphere_tag_<category>vSphere tag label; present only for categories matched by tag_categories; category names are sanitized for label keys and multiple tags in one category are sorted and joined with the pipe character
vsphere_custom_attribute_<name>vSphere custom attribute label; present only for attributes matched by custom_attributes; attribute names are sanitized for label keys

Metrics:

MetricDimensionsUnit
vsphere.vm_cpu_utilizationusedpercentage
vsphere.vm_mem_utilizationusedpercentage
vsphere.vm_mem_usagegranted, consumed, active, sharedKiB
vsphere.vm_mem_swap_usageswappedKiB
vsphere.vm_mem_swap_ioin, outKiB/s
vsphere.vm_disk_ioread, writeKiB/s
vsphere.vm_disk_max_latencylatencymilliseconds
vsphere.vm_net_trafficreceived, sentKiB/s
vsphere.vm_net_packetsreceived, sentpackets
vsphere.vm_net_dropsreceived, sentdrops
vsphere.vm_overall_statusgreen, red, yellow, graystatus
vsphere.vm_power_statepowered_on, powered_off, suspendedstatus
vsphere.vm_connection_stateconnected, disconnected, orphaned, inaccessible, invalidstatus
vsphere.vm_tools_running_statusrunning, not_running, executing_scripts, unknownstatus
vsphere.vm_tools_version_statuscurrent, need_upgrade, not_installed, unmanaged, too_old, supported_old, supported_new, too_new, blacklisted, unknownstatus
vsphere.vm_consolidation_neededneeded, not_neededstatus
vsphere.vm_system_uptimeuptimeseconds
vsphere.vm_config_cpuvcpusvCPUs
vsphere.vm_config_memorymemoryMiB
vsphere.vm_config_devicesdisks, nicsdevices
vsphere.vm_storage_usagecommitted, uncommitted, unsharedbytes
vsphere.vm_snapshot_countcountsnapshots
vsphere.vm_snapshot_max_ageageseconds
vsphere.vm_snapshot_max_chain_depthdepthsnapshots

Per virtual machine power

These aggregate metrics refer to VM power and energy and are collected for discovered powered-on VMs when vSphere exposes the corresponding power counters.

Labels:

LabelDescription
idvSphere managed object reference ID of the VM
datacenterDatacenter name
clusterCluster name
hostHost name
vmVirtual Machine name
vsphere_tag_<category>vSphere tag label; present only for categories matched by tag_categories; category names are sanitized for label keys and multiple tags in one category are sorted and joined with the pipe character
vsphere_custom_attribute_<name>vSphere custom attribute label; present only for attributes matched by custom_attributes; attribute names are sanitized for label keys

Metrics:

MetricDimensionsUnit
vsphere.vm_power_usagepowerwatts
vsphere.vm_energy_usageenergyjoules

Per vSAN virtual machine

These optional metrics refer to VM vSAN performance and are collected only when collect_vsan is enabled.

Labels:

LabelDescription
idvSphere managed object reference ID of the VM
datacenterDatacenter name
clusterCluster name
hostHost name
vmVirtual Machine name
vm_instance_uuidVM instance UUID used by vSAN performance entity references
vsphere_tag_<category>vSphere tag label; present only for categories matched by tag_categories; category names are sanitized for label keys and multiple tags in one category are sorted and joined with the pipe character
vsphere_custom_attribute_<name>vSphere custom attribute label; present only for attributes matched by custom_attributes; attribute names are sanitized for label keys

Metrics:

MetricDimensionsUnit
vsphere.vsan_vm_operationsread, writeoperations/s
vsphere.vsan_vm_throughputread, writebytes/s
vsphere.vsan_vm_latencyread, writemicroseconds

Per host power

These aggregate metrics refer to ESXi host power, energy, and power capacity and are collected for discovered powered-on hosts when vSphere exposes the corresponding power counters.

Labels:

LabelDescription
idvSphere managed object reference ID of the host
datacenterDatacenter name
clusterCluster name
hostHost name
vsphere_tag_<category>vSphere tag label; present only for categories matched by tag_categories; category names are sanitized for label keys and multiple tags in one category are sorted and joined with the pipe character
vsphere_custom_attribute_<name>vSphere custom attribute label; present only for attributes matched by custom_attributes; attribute names are sanitized for label keys

Metrics:

MetricDimensionsUnit
vsphere.host_power_usagepower, capwatts
vsphere.host_power_capacity_usageused, usable, idle, system, vmwatts
vsphere.host_power_capacity_utilizationusedpercentage
vsphere.host_energy_usageenergyjoules

Per vSAN host

These optional metrics refer to ESXi host vSAN performance and are collected only when collect_vsan is enabled.

Labels:

LabelDescription
idvSphere managed object reference ID of the host
datacenterDatacenter name
clusterCluster name
hostHost name
vsan_node_uuidvSAN host node UUID used by vSAN performance entity references
vsphere_tag_<category>vSphere tag label; present only for categories matched by tag_categories; category names are sanitized for label keys and multiple tags in one category are sorted and joined with the pipe character
vsphere_custom_attribute_<name>vSphere custom attribute label; present only for attributes matched by custom_attributes; attribute names are sanitized for label keys

Metrics:

MetricDimensionsUnit
vsphere.vsan_host_operationsread, writeoperations/s
vsphere.vsan_host_throughputread, writebytes/s
vsphere.vsan_host_latencyread, writemicroseconds
vsphere.vsan_host_congestionscongestionscongestions/s
vsphere.vsan_host_cache_hit_ratehit_ratepercentage

Per host

These metrics refer to the ESXi host.

Labels:

LabelDescription
idvSphere managed object reference ID
datacenterDatacenter name
clusterCluster name
hostHost name
vsphere_tag_<category>vSphere tag label; present only for categories matched by tag_categories; category names are sanitized for label keys and multiple tags in one category are sorted and joined with the pipe character
vsphere_custom_attribute_<name>vSphere custom attribute label; present only for attributes matched by custom_attributes; attribute names are sanitized for label keys

Metrics:

MetricDimensionsUnit
vsphere.host_cpu_utilizationusedpercentage
vsphere.host_mem_utilizationusedpercentage
vsphere.host_mem_usagegranted, consumed, active, shared, sharedcommonKiB
vsphere.host_mem_swap_ioin, outKiB/s
vsphere.host_disk_ioread, writeKiB/s
vsphere.host_disk_max_latencylatencymilliseconds
vsphere.host_net_trafficreceived, sentKiB/s
vsphere.host_net_packetsreceived, sentpackets
vsphere.host_net_dropsreceived, sentdrops
vsphere.host_net_errorsreceived, senterrors
vsphere.host_overall_statusgreen, red, yellow, graystatus
vsphere.host_power_statepowered_on, powered_off, standby, unknownstatus
vsphere.host_connection_stateconnected, not_responding, disconnectedstatus
vsphere.host_maintenance_statusnormal, in_maintenancestatus
vsphere.host_system_uptimeuptimeseconds

Per datastore

These metrics refer to the Datastore.

Labels:

LabelDescription
idvSphere managed object reference ID
datacenterDatacenter name
datastoreDatastore name
typeDatastore type (VMFS, NFS, NFS41, vsan, VVOL, PMEM)
vsphere_tag_<category>vSphere tag label; present only for categories matched by tag_categories; category names are sanitized for label keys and multiple tags in one category are sorted and joined with the pipe character
vsphere_custom_attribute_<name>vSphere custom attribute label; present only for attributes matched by custom_attributes; attribute names are sanitized for label keys

Metrics:

MetricDimensionsUnit
vsphere.datastore_disk_ioread, writeKiB/s
vsphere.datastore_disk_iopsreads, writesoperations/s
vsphere.datastore_disk_latencyread, writemilliseconds
vsphere.datastore_space_utilizationusedpercentage
vsphere.datastore_space_usagecapacity, free, used, uncommittedbytes
vsphere.datastore_overall_statusgreen, red, yellow, graystatus
vsphere.datastore_accessibility_statusaccessible, inaccessiblestatus
vsphere.datastore_maintenance_statusnormal, entering_maintenance, in_maintenance, unknownstatus
vsphere.datastore_multiple_host_accessenabled, disabled, unknownstatus

Per datastore cluster

These optional metrics refer to datastore clusters (StoragePod objects) and are collected only when collect_datastore_clusters is enabled.

Labels:

LabelDescription
idvSphere managed object reference ID
datacenterDatacenter name
datastore_clusterDatastore cluster name
vsphere_tag_<category>vSphere tag label; present only for categories matched by tag_categories; category names are sanitized for label keys and multiple tags in one category are sorted and joined with the pipe character
vsphere_custom_attribute_<name>vSphere custom attribute label; present only for attributes matched by custom_attributes; attribute names are sanitized for label keys

Metrics:

MetricDimensionsUnit
vsphere.datastore_cluster_space_utilizationusedpercentage
vsphere.datastore_cluster_space_usagecapacity, free, usedbytes
vsphere.datastore_cluster_storage_drs_statusenabled, disabledstatus
vsphere.datastore_cluster_overall_statusgreen, red, yellow, graystatus

Per vSAN cluster

These optional metrics refer to vSAN cluster capacity, health, and performance and are collected only when collect_vsan is enabled.

Labels:

LabelDescription
idvSphere managed object reference ID of the cluster
datacenterDatacenter name
clusterCluster name
vsan_uuidvSAN cluster UUID used by vSAN performance entity references
vsphere_tag_<category>vSphere tag label; present only for categories matched by tag_categories; category names are sanitized for label keys and multiple tags in one category are sorted and joined with the pipe character
vsphere_custom_attribute_<name>vSphere custom attribute label; present only for attributes matched by custom_attributes; attribute names are sanitized for label keys

Metrics:

MetricDimensionsUnit
vsphere.vsan_cluster_space_usageused, free, totalbytes
vsphere.vsan_cluster_space_utilizationusedpercentage
vsphere.vsan_cluster_health_statusgreen, yellow, red, unknownstatus
vsphere.vsan_cluster_operationsread, writeoperations/s
vsphere.vsan_cluster_throughputread, writebytes/s
vsphere.vsan_cluster_latencyread, writemicroseconds
vsphere.vsan_cluster_congestionscongestionscongestions/s

Per cluster

These metrics refer to the vSphere Cluster.

Labels:

LabelDescription
idvSphere managed object reference ID
datacenterDatacenter name
clusterCluster name
vsphere_tag_<category>vSphere tag label; present only for categories matched by tag_categories; category names are sanitized for label keys and multiple tags in one category are sorted and joined with the pipe character
vsphere_custom_attribute_<name>vSphere custom attribute label; present only for attributes matched by custom_attributes; attribute names are sanitized for label keys

Metrics:

MetricDimensionsUnit
vsphere.cluster_hoststotal, effectivehosts
vsphere.cluster_cpu_capacitytotal, effectiveMHz
vsphere.cluster_mem_capacitytotal, effectivebytes
vsphere.cluster_cpu_topologycores, threadscount
vsphere.cluster_drs_configenabledstatus
vsphere.cluster_drs_modemanual, partially_automated, fully_automated, unknownstatus
vsphere.cluster_drs_vmotion_rateratelevel
vsphere.cluster_ha_configenabled, admission_controlstatus
vsphere.cluster_ha_host_monitoringenabled, disabled, unknownstatus
vsphere.cluster_ha_vm_monitoringdisabled, vm_monitoring_only, vm_and_app_monitoring, unknownstatus
vsphere.cluster_ha_vm_component_protectionenabled, disabled, unknownstatus
vsphere.cluster_overall_statusgreen, red, yellow, graystatus
vsphere.cluster_vmotionsvmotionsmigrations
vsphere.cluster_drs_scorescorepercentage
vsphere.cluster_drs_balancecurrent, targetscore
vsphere.cluster_vm_counttotal, powered_offVMs
vsphere.cluster_usage_cpudemand, entitled, reservedMHz
vsphere.cluster_usage_memdemand, entitled, reservedMB
vsphere.cluster_cpu_utilizationusedpercentage
vsphere.cluster_cpu_usageused, totalMHz
vsphere.cluster_mem_utilizationusedpercentage
vsphere.cluster_mem_usageconsumed, active, granted, shared, overhead, swap_usedKiB
vsphere.cluster_services_fairnesscpu, memoryscore
vsphere.cluster_services_effective_cpueffective_cpuMHz
vsphere.cluster_services_effective_memeffective_memMB
vsphere.cluster_services_failoverfailures_tolerablefailures
vsphere.cluster_vm_migrationsvmotion, svmotion, xvmotionoperations
vsphere.cluster_vm_lifecyclepoweron, poweroff, create, destroy, clone, deployoperations
vsphere.cluster_vm_managementreconfigure, reset, suspend, register, unregisteroperations
vsphere.cluster_vm_guest_opsreboot, shutdown, standbyoperations
vsphere.cluster_vm_cold_migrationschange_ds, change_host, change_host_dsoperations

Per resource pool

These metrics refer to the vSphere Resource Pool.

Labels:

LabelDescription
idvSphere managed object reference ID
datacenterDatacenter name
clusterCluster name
resource_poolResource Pool name
vsphere_tag_<category>vSphere tag label; present only for categories matched by tag_categories; category names are sanitized for label keys and multiple tags in one category are sorted and joined with the pipe character
vsphere_custom_attribute_<name>vSphere custom attribute label; present only for attributes matched by custom_attributes; attribute names are sanitized for label keys

Metrics:

MetricDimensionsUnit
vsphere.resource_pool_cpu_usageusage, demandMHz
vsphere.resource_pool_cpu_entitlementdistributedMHz
vsphere.resource_pool_cpu_allocationreservation_used, unreserved_for_vm, max_usageMHz
vsphere.resource_pool_mem_usagehost, guestMB
vsphere.resource_pool_mem_entitlementdistributedMB
vsphere.resource_pool_mem_allocationreservation_used, unreserved_for_vm, max_usagebytes
vsphere.resource_pool_mem_breakdownprivate, shared, swapped, ballooned, overhead, consumed_overhead, compressedMB
vsphere.resource_pool_cpu_configreservation, limitMHz
vsphere.resource_pool_mem_configreservation, limitMB
vsphere.resource_pool_overall_statusgreen, red, yellow, graystatus

Live Data

This collector exposes read-only readiness and topology functions for interactive troubleshooting in the Live tab. Both functions require selecting a configured vSphere collector job.

vSphere Readiness

Reports the collector's current readiness from cached local state:

  • the selected vSphere collector job
  • whether the target URL and credentials are configured
  • whether the vSphere client, discovery cache, and performance-counter lists are initialized
  • discovered inventory counts
  • enabled or disabled optional metric, label, and vSAN groups
  • cached vSAN result counts when collect_vsan is enabled

The function does not expose the configured vCenter URL or credentials, and it does not issue extra vCenter API calls.

AspectDescription
NameVsphere:readiness
Require Cloudyes
PerformanceUses cached collector state only:
• No additional vCenter or ESXi API requests are triggered
• Response size is bounded by the number of configured optional groups and cached inventory summary rows
SecurityDoes not expose the configured vCenter URL, username, password, or per-object inventory names:
• Shows only configuration presence, resource counts, enabled feature flags, include pattern counts, and cached vSAN result counts
• Access should still be restricted to authorized operators because it reveals enabled collection surfaces
AvailabilityAvailable when:
• The vSphere collector job is running
• Returns not_ready rows while the collector is not initialized or discovery has not completed
• Uses the last cached discovery and vSAN scrape state

Prerequisites

No additional configuration is required.

Parameters

ParameterTypeDescriptionRequiredDefaultOptions
JobselectSelect which configured vSphere collector job to inspect.yes

Returns

Collector readiness checks from cached local state. Each row represents one target, discovery, label, scope, metric, or vSAN readiness check.

ColumnTypeUnitVisibilityDescription
checkstringStable readiness check identifier.
scopestringArea covered by the check, such as target, discovery, labels, scope, or metrics.
statusstringReadiness status. Possible values are ok, warning, disabled, and not_ready.
detailsstringHuman-readable explanation of the current cached state for the check.

vSphere Topology

Reports cached vSphere inventory topology for datacenters, clusters, ESXi hosts, VMs, datastores, networks, datastore clusters, and resource pools.

The public topology function is topology:vsphere. The function builds actors and links from the selected job's cached discovery state. It does not issue extra vCenter API calls. vSphere Network and Distributed Virtual Port Group actors are included only when collect_network_topology is enabled.

AspectDescription
NameVsphere:topology:vsphere
Require Cloudyes
PerformanceUses cached collector state only:
• No additional vCenter or ESXi API requests are triggered by the function
• Response size grows with discovered inventory object count
collect_network_topology adds Network discovery during normal collector discovery cycles when enabled
SecurityExposes discovered inventory object names and status attributes already visible through vSphere chart labels and metrics:
• Does not expose the configured vCenter URL, username, or password
AvailabilityAvailable when:
• The vSphere collector job is running
• Initial discovery has completed successfully
• Returns HTTP 503 while topology data is not cached yet

Prerequisites

No additional configuration is required.

Parameters

ParameterTypeDescriptionRequiredDefaultOptions
JobselectSelect which configured vSphere collector job provides the cached topology.yes

Returns

Cached vSphere inventory topology payload. Actors represent discovered inventory objects and links represent parent-child, host-runs-VM, or host/VM-connects-network relationships.

ColumnTypeUnitVisibilityDescription
schema_versionstringTopology payload schema version.
sourcestringTopology source identifier.
layerstringTopology layer identifier.
agent_idstringNetdata Agent identifier for the node serving the function.
collected_atdatetimeTime when the cached topology response was built.
viewstringTopology view identifier.
actorsarrayvSphere inventory actors, including datacenters, clusters, ESXi hosts, VMs, datastores, optional networks, datastore clusters, and resource pools.
linksarrayTopology links between vSphere inventory actors.
statsobjectCounts of discovered inventory objects, actors, and links included in the response.

Troubleshooting

Debug Mode

Important: Debug mode is not supported for data collection jobs created via the UI using the Dyncfg feature.

To troubleshoot issues with the vsphere collector, run the go.d.plugin with the debug option enabled. The output should give you clues as to why the collector isn't working.

  • Navigate to the plugins.d directory, usually at /usr/libexec/netdata/plugins.d/. If that's not the case on your system, open netdata.conf and look for the plugins setting under [directories].

    cd /usr/libexec/netdata/plugins.d/
  • Switch to the netdata user.

    sudo -u netdata -s
  • Run the go.d.plugin to debug the collector:

    ./go.d.plugin -d -m vsphere

    To debug a specific job:

    ./go.d.plugin -d -m vsphere -j jobName

Getting Logs

If you're encountering problems with the vsphere collector, follow these steps to retrieve logs and identify potential issues:

  • Run the command specific to your system (systemd, non-systemd, or Docker container).
  • Examine the output for any warnings or error messages that might indicate issues. These messages should provide clues about the root cause of the problem.

System with systemd

Use the following command to view logs generated since the last Netdata service restart:

journalctl _SYSTEMD_INVOCATION_ID="$(systemctl show --value --property=InvocationID netdata)" --namespace=netdata --grep vsphere

System without systemd

Locate the collector log file, typically at /var/log/netdata/collector.log, and use grep to filter for collector's name:

grep vsphere /var/log/netdata/collector.log

Note: This method shows logs from all restarts. Focus on the latest entries for troubleshooting current issues.

Docker Container

If your Netdata runs in a Docker container named "netdata" (replace if different), use this command:

docker logs netdata 2>&1 | grep vsphere

Missing performance samples

If the logs show vsphere:host-no-perf-samples or vsphere:vm-no-perf-samples, verify that the configured account can read vCenter performance counters for the selected hosts and VMs, and that the entities are powered on when performance metrics are expected.

Periodic discovery errors

If the logs show vsphere:periodic-discovery-error, check vCenter reachability, account permissions for the enabled optional surfaces, and whether the configured timeout is large enough for the inventory size.

vCenter reboot recovery

The collector cannot always recover an existing session after a vCenter reboot. Restart go.d.plugin if collection does not resume after vCenter becomes available again.


Do you have any feedback for this page? If so, you can open a new issue on our netdata/learn repository.