Skip to main content

VMware vSphere Datasets

VMware vSphere datasets define what a VMware vSphere device reads from a vCenter Server or a standalone ESXi host (dataset type vmware). They attach to devices of type vmware, and in Datasets & Profiles the category is labelled VMware vSphere. To create and assign datasets through the web interface, see Management. For the dataset and profile model, see Overview.

Collector Types​

There are 41 datasets, one per data model, each with its own definition id, event.dataset, interval, and pipeline, so it can be searched, routed, and processed on its own. Each dataset's event.dataset is vmware.<dataset>.

Dataset (console title)DatasetDefinitionDefinition idKindDefault intervalMinimum
VMware ESXi Hostshostvmware_host_collector6100inventory3,600 s60 s
VMware ESXi Host Statushost_statusvmware_host_status_collector6150metric60 s10 s
VMware Eventseventvmware_event_collector40event log60 s10 s
VMware Taskstaskvmware_task_collector41event log60 s10 s
VMware ESXi Host Processorshost_processorvmware_host_processor_collector6101inventory3,600 s60 s
VMware ESXi Host Fanshost_fanvmware_host_fan_collector6102inventory3,600 s60 s
VMware ESXi Host Power Supplieshost_power_supplyvmware_host_power_supply_collector6103inventory3,600 s60 s
VMware ESXi Host Sensorshost_sensorvmware_host_sensor_collector6104inventory3,600 s60 s
VMware ESXi Host Storage Adaptershost_hbavmware_host_hba_collector6105inventory3,600 s60 s
VMware ESXi Host Storage Pathshost_storage_pathvmware_host_storage_path_collector6106inventory3,600 s60 s
VMware ESXi Host Network Adaptershost_network_adaptervmware_host_network_adapter_collector6107inventory3,600 s60 s
VMware ESXi Host Standard Switcheshost_standard_switchvmware_host_standard_switch_collector6108inventory3,600 s60 s
VMware ESXi Host Firewall Ruleshost_firewall_rulevmware_host_firewall_rule_collector6109inventory3,600 s60 s
VMware ESXi Host Serviceshost_servicevmware_host_service_collector6110inventory3,600 s60 s
VMware Datastoresdatastorevmware_datastore_collector6111inventory3,600 s60 s
VMware Distributed Switchesdistributed_switchvmware_distributed_switch_collector6112inventory3,600 s60 s
VMware Distributed Port Groupsdistributed_port_groupvmware_distributed_port_group_collector6113inventory3,600 s60 s
VMware Resource Poolsresource_poolvmware_resource_pool_collector6114inventory3,600 s60 s
VMware Foldersfoldervmware_folder_collector6115inventory3,600 s60 s
VMware ESXi Host Performancehost_statsvmware_host_stats_collector6151metric60 s20 s
VMware ESXi Host CPU Usagehost_processor_statsvmware_host_processor_stats_collector6152metric60 s20 s
VMware ESXi Host Memory Usagehost_memory_statsvmware_host_memory_stats_collector6153metric60 s20 s
VMware ESXi Host Power Usagehost_power_statsvmware_host_power_stats_collector6154metric60 s20 s
VMware ESXi Host Disk I/Ohost_disk_statsvmware_host_disk_stats_collector6155metric60 s20 s
VMware ESXi Host Storage Adapter I/Ohost_hba_statsvmware_host_hba_stats_collector6156metric60 s20 s
VMware ESXi Host Storage Path I/Ohost_storage_path_statsvmware_host_storage_path_stats_collector6157metric60 s20 s
VMware Datastore I/Odatastore_statsvmware_datastore_stats_collector6158metric60 s20 s
VMware ESXi Host Network Traffichost_network_adapter_statsvmware_host_network_adapter_stats_collector6159metric60 s20 s
VMware Virtual Machinesvmvmware_vm_collector6200inventory3,600 s60 s
VMware Virtual Machine Disksvm_diskvmware_vm_disk_collector6201inventory3,600 s60 s
VMware Virtual Machine Guest Partitionsvm_guest_partitionvmware_vm_guest_partition_collector6202inventory3,600 s60 s
VMware Virtual Machine CD/DVD Drivesvm_dvd_drivevmware_vm_dvd_drive_collector6203inventory3,600 s60 s
VMware Virtual Machine Network Adaptersvm_network_adaptervmware_vm_network_adapter_collector6204inventory3,600 s60 s
VMware Virtual Machine Snapshotsvm_snapshotvmware_vm_snapshot_collector6205inventory3,600 s60 s
VMware Virtual Machine NPIV WWNsvm_vhbavmware_vm_vhba_collector6206inventory3,600 s60 s
VMware Virtual Machine Statusvm_statusvmware_vm_status_collector6250metric60 s10 s
VMware Virtual Machine Performancevm_statsvmware_vm_stats_collector6251metric60 s20 s
VMware Virtual Machine CPU Usagevm_processor_statsvmware_vm_processor_stats_collector6252metric60 s20 s
VMware Virtual Machine Memory Usagevm_memory_statsvmware_vm_memory_stats_collector6253metric60 s20 s
VMware Virtual Machine Disk I/Ovm_disk_statsvmware_vm_disk_stats_collector6254metric60 s20 s
VMware Virtual Machine Network Trafficvm_network_adapter_statsvmware_vm_network_adapter_stats_collector6255metric60 s20 s

Every dataset takes these properties:

FieldRequiredTypeDefaultDescription
intervalNintper datasetSeconds between readings. At least the dataset's minimum above.
initial_lookbackNintthe device'sEvents and tasks only. Seconds before the first reading where a dataset with no checkpoint starts. 0 starts at the first reading.
pipeline_nameNstringthe device'sThe preprocessing pipeline the dataset's records enter.

Wizard fields​

Every VMware vSphere dataset's Dataset configuration step says how the dataset is read and has an Interval (Optional) field, in seconds: left empty, the dataset is read at its default; otherwise at least its minimum.

Rules​

  • Intervals. An interval under the dataset's minimum is left out with a warning in the device's log, and the rest of the device runs. Inventories are read hourly by default: what a host, a vCenter, and a virtual machine have changes rarely, and a part that fails is also an event the host logs, which the event dataset reads every minute. A performance counter dataset may be read every 20 seconds at most, because ESXi samples its counters every 20 seconds.
  • One of each. A dataset type is read once per device, however many datasets of it are assigned. The first decides its settings; the others are left out with a warning.
  • One model each. A dataset reads its model and nothing else.
  • Pipelines. A dataset's records enter the pipeline the dataset selects, otherwise the device's. Two datasets on one device can reach two pipelines.
  • Live capture names the dataset each record came from.

Inventories​

Inventory datasets write every item at every reading. From a dataset's second reading on, each record carries event.action:

event.actionevent.typeMeaning
addedcreationNot in the last delivered reading
changedchangeIts fields differ from the last delivered reading's
unchangedinfoAs it was
removeddeletionGone: written once, as it was last seen, dated now
  • The baseline is the last delivered reading. A reading that fails, or whose records could not all be written, never becomes the one the next compares with, so nothing is marked removed because a request failed.
  • An item that could not be read is kept. A host or a machine whose properties the server could not all return is left out of the reading, with a warning, and is not marked removed; neither are its parts.
  • What moves while an item stays the same is written but not compared, such as a sensor's reading, a datastore's free space, a machine's power state, or a partition's free space. Each table below says which fields these are.
  • The first reading after a start marks nothing: the baseline is kept in memory.

ESXi Hosts​

host is the node dataset: a vCenter device writes every host it manages, and a standalone ESXi device the host itself. A host is known by its managed object id (host-1234; ha-host on a standalone host).

FieldHolds
host.*name, id (the system UUID), ip (the VMkernel addresses), mac (the physical NICs'), os.name (VMware ESXi), os.version, os.full
vmware.host.*id (managed object id), name, product.name/full_name/version/build, boot_time, manufacturer, model, serial_number, uuid, management_server_ip (the vCenter managing it), reboot_required, cpu.model/mhz/sockets/cores/threads, memory.size, power_policy (dynamic, static, low, custom)

A host moved to another cluster, or whose cluster was renamed, is changed; so is one that rebooted, which has a new boot_time.

What an ESXi Host Has​

Ten datasets read the parts of every host, one record per part. Every record names its host (host.name, vmware.host.id, vmware.host.name) and carries the host's datacenter and cluster. Fields sit under vmware.<dataset>.

DatasetOne record perFields
host_processorProcessor package (socket)index, description (the model), vendor, mhz, bus_mhz, cores, threads, thread_ids (the logical processors host_processor_stats names), status (green, yellow, red, unknown)
host_fanFan sensorid, name, health (green, yellow, red, unknown), reading in its units, rate_units, timestamp; from vSphere 8.0 Update 1, fru.type/part_name/part_number/manufacturer/serial_number. The reading and its time are not compared.
host_power_supplyPower sensorAs host_fan
host_sensorHardware sensor, every typeAs host_fan, and type (temperature, voltage, fan, power, memory, storage, systemBoard, …)
host_hbaStorage adapter (vmhba), every kinddevice, type (block, sas, parallel_scsi, fibre_channel, fcoe, iscsi, nvme_tcp, nvme_rdma, pcie), model, driver, pci, bus, status, storage_protocol, and per kind its world wide names, iSCSI name, speed, or associated NIC
host_storage_pathPath from an adapter to a LUNname (vmhba1:C2:T0:L0), adapter, lun (its canonical name), lun_number, state (active, standby, disabled, dead), working, policy (VMW_PSP_FIXED, VMW_PSP_RR, VMW_PSP_MRU), preferred, array_type_policy, and Fibre Channel or iSCSI target details
host_network_adapterPhysical NIC (vmnic) or VMkernel adapter (vmk)name, type (physical, vmkernel), mac; a physical NIC's driver, driver_version, firmware_version, pci, link, speed, full_duplex; a VMkernel adapter's ip, netmask, ipv6, dhcp, mtu, portgroup, netstack, and its standard or distributed switch
host_standard_switchStandard switchname, ports, ports_available, mtu, uplinks, portgroups, and its link discovery, security, offload, shaping, and teaming policies
host_firewall_ruleRule of a firewall rulesetruleset, label, service, enabled, required, allowed_hosts.all/ip/networks, direction, protocol, port, end_port, port_type
host_serviceServicekey (TSM-SSH), label, policy (on, off, automatic), running, required, uninstallable, rulesets, package

What a vCenter Holds Beside Its Hosts​

Five datasets read the objects a vCenter holds that belong to no single host. They are tagged with their datacenter; no cluster tags them. A standalone ESXi host has its own datastores, root resource pool, and folders, and no distributed switches.

DatasetOne record perFields
datastoreDatastoreid, name, type (VMFS, NFS, NFS41, vsan, VVOL, …), url, capacity, free_space (not compared), accessible, multiple_host_access, maintenance_mode, overall_status, its VMFS, NFS, or vVol details, luns (not compared), and hosts (each mounting host's id, name, access_mode, mounted, accessible). A datastore one host alone mounts is also tagged with that host.
distributed_switchDistributed switchid, name, uuid, description, overall_status, product.*, host_count, hosts, portgroups, ports (not compared), max_ports, max_mtu, uplinks, link_discovery.*, config_version, create_time, default_port.*
distributed_port_groupDistributed port groupid, key, name, switch.id/name, type (earlyBinding, ephemeral), ports, auto_expand, uplink, host_count, vm_count (not compared), overrides_allowed.*, and its ports' settings: vlan.id, vlan.trunk or vlan.pvlan_id, shaping, teaming, security, and LACP
resource_poolResource pool or vAppid, name, type (ResourcePool, VirtualApp), path, owner.*, parent.*, cpu.reservation.mhz, cpu.limit.mhz, memory.reservation.bytes, memory.limit.bytes, unlimited, expandable_reservation, shares, shares_level, overall_status. A cluster's pool is tagged with the cluster, a standalone host's with the host.
folderFolder of the inventoryid, name, child_types, parent.*, path (/Amsterdam/vm/web)

Virtual Machines​

vm writes every virtual machine, templates included, one record each. A virtual machine is not a device of its own: it is named under vmware.vm (id, the managed object id vm-1234, and name), and host.name is the ESXi host it runs on.

Field (under vmware.vm)Holds
id, name, uuid, instance_uuidIts managed object id, name, BIOS UUID, and vCenter instance UUID
template, version, firmwareWhether it is a template, its hardware version (vmx-19), and its firmware (bios, efi)
os.id, os.full_nameThe guest operating system it is configured for
notes, createdIts annotation, and when it was created (vSphere 6.7 and later)
path, folder.*, vapp.*, resource_pool.*Where it sits in the inventory
cpu.*, memory.*Its virtual CPUs and memory, and their reservations, limits, and shares
files.*, datastoresIts files, and each datastore they are on
tools.*Its VMware Tools settings
power_state, connection_stateNot compared
guest.hostname, guest.ip, guest.os.*, guest.tools.versionWhile VMware Tools runs. Not compared.

A machine moved to another cluster, datacenter, folder, or resource pool is changed, as is one given more memory or CPUs, renamed, or made a template. Its ESXi host is not compared: DRS moves a cluster's machines on its own, and the record says where the machine runs now. What the guest says of itself comes through VMware Tools, so a machine whose Tools does not run has none of it written.

What a Virtual Machine Has​

Six datasets read the parts of every virtual machine, one record per part. Every record names its machine (vmware.vm.id, vmware.vm.name) and the host it runs on. A powered-off machine keeps its parts.

DatasetOne record perFields
vm_diskVirtual disk, every kindkey, label, instance (scsi0:1, which its performance counters name it by), controller.*, unit_number, capacity, backing, file, datastore.*, disk_mode, provisioning (thin, thick_lazy_zeroed, thick_eager_zeroed), rdm.*, iops.*, shares, shares_level; while the machine has snapshots, current_file and delta_disks (not compared)
vm_guest_partitionPartition the guest reports, while VMware Tools runspath (C:\, /boot), capacity, free_space, used_space (not compared), used_pct, filesystem, disks (vSphere 7.0 and later)
vm_dvd_driveCD/DVD drivekey, label, controller.*, unit_number, media.type (iso, host_device, client_device, none, …), media.file, media.datastore.*, start_connected, allow_guest_control, connected, status
vm_network_adapterNetwork adapterkey (4000, which its performance counters name it by), label, type (vmxnet3, e1000e, …), mac, address_type, connected, status, network.type (standard, distributed, opaque), network.name, its port group and switch, network.vlan.*; while VMware Tools runs, guest.ip, guest.connected, guest.network
vm_snapshotSnapshotid, name, description, created, power_state, quiesced, replay_supported, parent.id/name, current (not compared)
vm_vhbaMachine given world wide names (NPIV)type (vc, host, external), node_wwns, port_wwns, desired_node_wwns, desired_port_wwns, disabled, on_non_rdm_disks

Status​

host_status and vm_status write one record per host or machine at every reading, dated at the reading. status is 1 when the host or machine is up, otherwise 0, with the state that says why in reason.

DatasetFields
host_statusvmware.host.id/name; vmware.host_status.status (1 when connected and powered on), reason (host connection state: disconnected), connection_state (connected, disconnected, notResponding), power_state, maintenance_mode, overall_status. A host in maintenance mode is up.
vm_statusEvery machine but the templates. vmware.vm_status.status (1 when connected and powered on), reason (vm power state: poweredOff), power_state, connection_state, overall_status, config_status, guest_heartbeat_status, tools.running_status/version_status/status, boot_time and uptime while it runs, suspend_time, consolidation_needed, fault_tolerance_state

Performance Counters​

The performance counter datasets read the latest realtime sample of every connected, powered-on host or running virtual machine. ESXi samples its counters every 20 seconds and keeps about an hour of them.

  • Dated when the sample ended. A record's @timestamp is when its sample ended, and vmware.<dataset>.interval is its length, 20. A sample is written once, so at the default interval of 60 seconds a reading writes one sample in three.
  • Counters are resolved by name, against each server's own catalogue. A counter a host or machine does not sample is left out, never written as zero.
  • One record per instance or per host. A counter the host keeps per CPU, disk, NIC, adapter, path, or datastore is one record per instance, which vmware.<dataset>.instance names.
  • Units. Percentages are fractions of 1, sizes are bytes, and rates are bytes per second; the rest are written as the server counts them: MHz, milliseconds (ms), microseconds (us), watts, joules, counts during the sample (count), and per-second averages (per_sec).
  • A host or machine that is not running samples nothing and is left out; its state is its status dataset's.

ESXi Hosts​

DatasetOne record perCountersinstance
host_statsHostThe host-wide aggregate of the cpu, net, disk, datastore, storageAdapter, and storagePath counters, under cpu., net., disk., datastore., storage_adapter., and storage_path.; and cpu.sockets, cpu.cores, cpu.threads, memory.free.bytes, memory.free.pctnone
host_processor_statsLogical processorcpu, those the host keeps per processorIts number: one of host_processor's thread_ids
host_memory_statsHostmemnone
host_power_statsHostpower: power.watts, power_cap.watts, energy.joulesnone
host_disk_statsDisk (LUN)disk, those the host keeps per diskIts canonical name: a host_storage_path's lun
host_hba_statsStorage adapterstorageAdapterIts device, vmhba1: host_hba's device
host_storage_path_statsPath to a LUNstoragePathIts transport name, ending in the LUN's canonical name
datastore_statsDatastore a host mountsdatastore, and the datastore's space: capacity.bytes, free.bytes, used.bytes, used.pctThe UUID its URL ends in; vmware.datastore.id and name name the datastore
host_network_adapter_statsPhysical NICnetIts device, vmnic0: host_network_adapter's name

Virtual Machines​

DatasetOne record perCountersinstance
vm_statsRunning machineThe machine-wide aggregate of its net and virtualDisk counters, under net. and virtual_disk.; cpu.count, memory.size.bytes, storage.committed.bytes, storage.uncommitted.bytes, storage.unshared.bytes; while VMware Tools runs, guest.capacity.bytes, guest.free.bytes, guest.used.bytes, guest.used.pctnone
vm_processor_statsRunning machinecpu, the machine's ownnone
vm_memory_statsRunning machinemem, the machine's ownnone
vm_disk_statsVirtual disk of a running machinevirtualDiskscsi0:1: the disk's vm_disk instance
vm_network_adapter_statsNetwork adapter of a running machinenetIts device key, 4000: its vm_network_adapter key

A machine's network counters also name the host's physical NICs its traffic crossed; those belong to host_network_adapter_stats and are left out.

Events and Tasks​

event and task read what happened since their checkpoint, which is kept in the Director's cluster-replicated store, so a restart or a failover resumes from it.

  • Written after delivery. The checkpoint is stored only once the records it covers are delivered: a crash before then reads them again, so a record is written at least once and never lost.
  • The first reading of a dataset with no checkpoint starts initial_lookback seconds back: the dataset's, else the device's, else a day.
  • A long history is read a share at a time, at most 200,000 events or tasks per reading; the dataset catches up over the next readings.
DatasetFields
eventmessage (the server's formatted message), event.id (the event's key), event.code (its type, VmPoweredOnEvent, or an extended event's id), log.level, user.name, host.name; vmware.event.key, chain_id, type, category (info, warning, error, user), datacenter/compute_resource/host/vm/datastore/network/dvs (each id and name), task.id, arguments
taskmessage (Power On virtual machine - web01), event.id (the task's key), event.action (VirtualMachine.powerOn), event.type (info queued, start running, end finished), event.outcome, event.start, event.end, event.duration, user.name, host.name; vmware.task.key, name, description_id, label, state (queued, running, success, error), cancelled, progress, entity.type/id/name, queue_time, start_time, complete_time, queued_ms, execution_ms, error, reason (user, system, alarm, schedule)

A task is written each time its state changes: when it is first seen queued or running, and when it ends. A standalone ESXi host keeps no task history, so its tasks are read from its recent tasks alone: a task that ended while the device was down for longer than the host keeps its recent tasks (minutes) is missed.

Examples​

Reading a vCenter's hosts and virtual machines hourly, their status every minute, the hosts' CPU every 20 seconds, and the events with a week's lookback...

- id: 512300130
name: vc01
type: vmware
status: true
properties:
address: "vcsa.example.com"
username: "svc-virtualmetric@vsphere.local"
password: "$secret{store=corp-vault,ref=vmware/vcenter}"
definitions:
- name: vmware_host_collector
status: true
- name: vmware_host_status_collector
status: true
- name: vmware_host_processor_stats_collector
status: true
properties:
interval: 20
- name: vmware_vm_collector
status: true
- name: vmware_vm_status_collector
status: true
- name: vmware_event_collector
status: true
properties:
initial_lookback: 604800