Microsoft Hyper-V Infrastructure extension

  • Latest Dynatrace
  • Extension
  • Published Oct 27, 2025

Monitor health and performance of the Hyper-V clusters, hosts and VMs.

Hyper-V top level dashboardFailover cluster overviewFailover cluster performance metricsHyper-V host overview
1 of 4Hyper-V top level dashboard

Get started

Overview

Monitor Hyper-V performance, track VM health, and detect cluster issues before impact.

This extension is designed to run locally on hosts that comprise the Hyper-V cluster. It doesn't offer remote monitoring. Additionally, compared to typical extensions, which run as LOCAL SERVICE , this one requires privileges elevated to LOCAL SYSTEM, in order to obtain metrics that can only be obtained through execution of the PowerShell scripts.

Get insights into performance of the Hyper-V fabric, tracking health, performance and resource utilization of the Hyper-V VMs, together with the context of their host and cluster resources. Monitor Hyper-V clusters, detect problems ahead of serious impact, and pinpoint the bottlenecks in the virtualization and application layer, including:

  • Processor bottlenecks
  • Memory shortages
  • Network overload
  • Storage shortages
  • Slowness in the dependent applications hosted on the Hyper-V cluster

Hyper-V extension leverages PowerShell cmdlets and WMI queries to collect data from the Windows hypervisor, following best practices employed by Microsoft, as well as Dynatrace customers who contributed to validation of this extension in real-life situations.

Use cases

  • Monitor health and performance of your Hyper-V cluster, using built-in analysis screens and easy-to-navigate dashboards
  • Make sure resources are split optimally between the virtual machines
  • Relate performance of the applications and VMs monitored with OneAgent to the underlying Hyper-V resources allotted to the VMs

Compatibility information

This extension requires:

  • x64 OS with BIOS-activated virtualization:
    • Windows 10 Enterprise/Pro/Education
    • Windows Server 2016 or newer
  • Hyper-V VM Configuration Version 9.0 or higher

Note on topological relationships between discovered Hyper-V VMs and OneAgent-monitored VM instances:

  • This extension maintains SAME_AS relationship between discovered VMs and OneAgent-monitored instances of the guest OS, using IP address as the join property.
  • This relationship enables:
    • Davis AI analytics to look together at metrics obtained by this extension and from OneAgent, to completely characterize monitored guest OS instances performance
    • Discovery and Coverage app to suggest which discovered VMs should be instrumented with OneAgent for full visibility into performance
  • This relationship works for known Windows guest OSes, but has limitations when guest OS is Linux. This limitation stems from the fact that on Hyper-V, Linux guest OS should be instrumented with the Microsoft's Linux Integration Service, while this service supports limited spectrum of the Linux distributions. See the link for details.

Activation and setup

  1. Install OneAgent on hosts that comprise the Hyper-V cluster. All cluster host machines should have OneAgent installed.
  2. Configure the Dynatrace OneAgent EEC to run this extension with elevated LOCAL SYSTEM account privileges. To achieve this, in the C:ProgramData\dynatrace\oneagent\agent\config\extensionsuser.conf file on Hyper-V cluster servers where the extension is intended to run, add a line:
  • elevated_privileges_extensions=[com.dynatrace.extension.hyperv:*]
  • Meaning of this line: elevated_privileges_extensions is a comma-separated list of extensions to run as LOCAL SYSTEM (instead of the default LOCAL SERVICE). The format is: <extensionName>:<extensionVersion>
  • See the Q&A section for more details on why the privileged mode is required.
  • Activate this extension using the in-product Dynatrace Hub.
  • In the extension configuration, enable it on your Hyper-V cluster's hosts.
  • Optionally, define filtering criteria if you want to limit the monitoring scope and select specific feature sets if you want to limit the monitoring focus.

Details

This extension is intended to run locally on hosts that comprise the Hyper-V cluster. It executes:

  • WMI queries to obtain metrics from the local WMI metrics store on the cluster hosts server where the extension runs.
  • PowerShell snippets to access Windows registry and specific Hyper-V metrics available only through PowerShell.

If you are interested in logs collection from the Hyper-V cluster, use readily available OneAgent's log monitoring features.

Additionally, the extension delivers:

  • Alert templates for essential Hyper-V performance signals
  • Topology rules and screen definitions that weave this extension metrics into the VM entities instantiated by the OneAgent that are hosted on Hyper-V cluster
  • Ready-made dashboards
  • Unified Analysis screens

Licensing and cost

There is no charge for obtaining the extension, only for the data that the extension ingests. The details of license consumption will depend on which licensing model you are using. This will either be Dynatrace classic licensing or the Dynatrace Platform Subscription (DPS) model.

Metrics

License consumption is based on the number of metric data points ingested. The following formula will provide approximate annual data points ingested assuming all feature sets are enabled.

(
(
( 3 * number of Clusters)
+ ( 9 * number of Hosts)
+ ( 6 * number of VMs)
+ ( 4 * number of Storage Devices)
+ ( 4 * number of Virtual Storage Devices)
+ ( 6 * number of NICs)
+ ( 6 * number of vNICs)
) / <Metrics Collection Interval>
) * 60 minutes * 24 hours * 365 days data points per year

Classic licensing

In the classic licensing model, metric ingestion will consume Davis Data Units (DDUs) at the rate of .001 DDUs per metric data point. Multiply the above formula for annual data points by .001 to estimate annual DDU usage.

Feature sets

When activating your extension using monitoring configuration, you can limit monitoring to one of the feature sets. To work properly the extension has to collect at least one metric after the activation.

In highly segmented networks, feature sets can reflect the segments of your environment. Then, when you create a monitoring configuration, you can select a feature set and a corresponding ActiveGate group that can connect to this particular segment.

All metrics that aren't categorized into any feature set are considered to be the default and are always reported.

A metric inherits the feature set of a subgroup, which in turn inherits the feature set of a group. Also, the feature set defined on the metric level overrides the feature set defined on the subgroup level, which in turn overrides the feature set defined on the group level.

Metric nameMetric keyDescription
CPU Utilizationhyperv.host.cpu_utilization
Logical CPU Counthyperv.host.logical_cpu_count.gauge
Physical CPU Counthyperv.host.physical_cpu_count.gauge
CPU Reservehyperv.host.cpu_reserve
Metric nameMetric keyDescription
Total Disk Spacehyperv.virtual_machine.storage_device.total_disk_space
Used Disk Spacehyperv.virtual_machine.storage_device.used_disk_space
Metric nameMetric keyDescription
Network Packets Senthyperv.virtual_machine.network_interface_card.packets_sent
Network Packets Receivedhyperv.virtual_machine.network_interface_card.packets_received
Network Packets Transferredhyperv.virtual_machine.network_interface_card.packets_transferred
Metric nameMetric keyDescription
Total Memoryhyperv.host.total_memory
Available Memoryhyperv.host.available_memory
Metric nameMetric keyDescription
Network Bytes Senthyperv.virtual_machine.network_interface_card.bytes_sent
Network Bytes Receivedhyperv.virtual_machine.network_interface_card.bytes_received
Network Bytes Transferredhyperv.virtual_machine.network_interface_card.bytes_transferred
Metric nameMetric keyDescription
Virtual Machine Counthyperv.host.virtual_machine_count.gauge
Running Virtual Machine Counthyperv.host.running_virtual_machine_count.gauge
Uptimehyperv.host.uptime
Metric nameMetric keyDescription
CPU Counthyperv.virtual_machine.cpu_count.gauge
CPU Reservehyperv.virtual_machine.cpu_reserve
CPU Utilizationhyperv.virtual_machine.cpu_utilizationCPU Utilization % relative to the hosts total capacity.
Real CPU Utilizationhyperv.virtual_machine.real_cpu_utilizationCPU Utilization % as seen on the VM
Total Memoryhyperv.virtual_machine.total_memory
Used Memoryhyperv.virtual_machine.used_memory
Memory Pressurehyperv.virtual_machine.memory_pressure
Metric nameMetric keyDescription
Total Disk Sizehyperv.host.disk.total_size
Available Disk Spacehyperv.host.disk.space_free
Metric nameMetric keyDescription
Network Bytes Senthyperv.host.network_interface_card.bytes_sent
Network Bytes Receivedhyperv.host.network_interface_card.bytes_received
Network Bytes Transferredhyperv.host.network_interface_card.bytes_transferred
Metric nameMetric keyDescription
Disk Read Ratehyperv.host.disk.read_rate
Disk Write Ratehyperv.host.disk.write_rate
Metric nameMetric keyDescription
Disk Read Ratehyperv.virtual_machine.storage_device.read_rate
Disk Write Ratehyperv.virtual_machine.storage_device.write_rate
Metric nameMetric keyDescription
Network Packets Senthyperv.host.network_interface_card.packets_sent
Network Packets Receivedhyperv.host.network_interface_card.packets_received
Network Packets Transferredhyperv.host.network_interface_card.packets_transferred
Metric nameMetric keyDescription
Total Spacehyperv.cluster_shared_volume.total_space
Used Disk Spacehyperv.cluster_shared_volume.used_space
Available Disk Spacehyperv.cluster_shared_volume.free_space

FAQ

The extension needs to be enabled it on all the host (server/node) machines in the cluster. The extension collects metrics from the guest VMs running on each host.

Although OneAgent typically runs as LocalSystem account, Python extensions run as LOCAL SERVICE. The LOCAL SERVICE account has the minimum privileges on the local computer, which means it can't run PowerShell snippets that read performance counters, access WMI objects that store Hyper-V metrics, or run Hyper-V-specific cmdlets. Therefore, OneAgent needs to be explicitly instructed to run this extension with LOCAL SYSTEM privileges.

Related tags
VirtualizationPythonHypervisorMicrosoftInfrastructure Observability