Logging is here!

vSphere

Agent Check Agent Check

Supported OS: Linux Mac OS Windows

Vsphere Graph

Overview

This check collects resource usage metrics from your vSphere cluster—CPU, disk, memory, and network usage. It also watches your vCenter server for events and emits them to Datadog.

Setup

Installation

The vSphere check is included in the Datadog Agent package, so you don’t need to install anything else on your vCenter server.

Configuration

In the Administration section of vCenter, add a read-only user called datadog-readonly.

Then, edit the vsphere.d/conf.yaml file in the conf.d/ folder at the root of your Agent’s configuration directory. See the sample vsphere.d/conf.yaml for all available configuration options:

init_config:

instances:
  - name: main-vcenter # how metrics will be tagged, i.e. 'vcenter_server:main-vcenter'
    host: <VCENTER_HOSTNAME>          # e.g. myvcenter.example.com
    username: <USER_YOU_JUST_CREATED> # e.g. datadog-readonly@vsphere.local
    password: <PASSWORD>

Restart the Agent to start sending vSphere metrics and events to Datadog.

Note: The Datadog Agent doesn’t need to be on the same server as the vSphere appliance software. An Agent with the vSphere check enabled can be set up -no matter what OS it’s running on- to point to a vSphere appliance server. You will have to update your <VCENTER_HOSTNAME> accordingly.

Configuration Options

  • ssl_verify (Optional) - Set to false to disable SSL verification, when connecting to vCenter
  • ssl_capath (Optional) - Set to the absolute file path of a directory containing CA certificates in PEM format
  • host_include_only_regex (Optional) - Use a regex like this if you want only the check to fetch metrics for these ESXi hosts and the VMs running on it
  • vm_include_only_regex (Optional) - Use a regex to include only the VMs that are matching this pattern.
  • include_only_marked (Optional) - Set to true if you’d like to only collect metrics on vSphere VMs which are marked by a custom field with the value ‘DatadogMonitored’. To set this custom field with PowerCLI, use the follow command: Get-VM <MyVMName> | Set-CustomField -Name "DatadogMonitored" -Value "DatadogMonitored"
  • all_metrics (Optional) - When set to true, this will collect EVERY metric from vCenter, which means a LOT of metrics you probably do not care about. We have selected a set of metrics that are interesting to monitor for you if false.
  • event_config (Optional) - Event config is a dictionary. For now the only switch you can flip is collect_vcenter_alarms which will send as events the alarms set in vCenter.

Validation

Run the Agent’s status subcommand and look for vsphere under the Checks section.

Data Collected

Metrics

vsphere.cpu.extra
(gauge)
Milliseconds of extra CPU time.
shown as millisecond
vsphere.cpu.ready
(gauge)
Milliseconds of CPU time spent in ready state.
shown as millisecond
vsphere.cpu.usage
(gauge)
Percentage of CPU capacity being used.
shown as percent
vsphere.cpu.usagemhz
(gauge)
Total megehertz of CPU being used.
shown as megahertz
vsphere.disk.commandsAborted
(gauge)
Number of SCSI commands aborted.
shown as occurrence
vsphere.disk.deviceLatency
(gauge)
Average amount of time it takes to complete an SCSI command from physical device.
shown as millisecond
vsphere.disk.deviceReadLatency
(gauge)
Average amount of time it takes to complete read from physical device.
shown as millisecond
vsphere.disk.deviceWriteLatency
(gauge)
Average amount of time it takes to complete write to the physical device (LUN).
shown as millisecond
vsphere.disk.queueLatency
(gauge)
Average amount of time spent in VMkernel queue (per SCSI command).
shown as millisecond
vsphere.disk.totalLatency
(gauge)
Sum of average amount of time (in kernel and device) to process an SCSI command issued by the Guest OS to the vm.
shown as millisecond
vsphere.mem.active
(gauge)
Kilobytes of memory that the VMkernel estimates is being actively used based on recently touched memory pages.
shown as kibibyte
vsphere.mem.compressed
(gauge)
Kilobytes of memory that have been compressed.
shown as kibibyte
vsphere.mem.consumed
(gauge)
Kilobytes of used memory.
shown as kibibyte
vsphere.mem.overhead
(gauge)
Kilobytes of memory allocated to a vm beyond its reserved amount.
shown as kibibyte
vsphere.mem.vmmemctl
(gauge)
Kilobytes of memory allocated by the virtual machine memory control driver (vmmemctl).
shown as kibibyte
vsphere.network.received
(rate)
Number of kilobytes received by the host.
shown as kibibyte
vsphere.network.transmitted
(rate)
Number of kilobytes transmitted by the host.
shown as kibibyte

Events

This check watches vCenter’s Event Manager for events and emits them to Datadog. It does NOT emit the following event types:

  • AlarmStatusChangedEvent:Gray
  • VmBeingHotMigratedEvent
  • VmResumedEvent
  • VmReconfiguredEvent
  • VmPoweredOnEvent
  • VmMigratedEvent
  • TaskEvent:Initialize powering On
  • TaskEvent:Power Off virtual machine
  • TaskEvent:Power On virtual machine
  • TaskEvent:Reconfigure virtual machine
  • TaskEvent:Relocate virtual machine
  • TaskEvent:Suspend virtual machine
  • TaskEvent:Migrate virtual machine
  • VmMessageEvent
  • VmSuspendedEvent
  • VmPoweredOffEvent

Service Checks

vcenter.can_connect:

Returns CRITICAL if the Agent cannot connect to vCenter to collect metrics, otherwise OK.

Troubleshooting

Further Reading

See our blog post on monitoring vSphere environments with Datadog.


Mistake in the docs? Feel free to contribute!