· Alexander · Grafana  · 2 min read

Monitoring Hyper-V via Telegraf

Monitor Hyper-V performance counters with Telegraf and visualize them in Grafana.

Monitor Hyper-V performance counters with Telegraf and visualize them in Grafana.

Now the cool thing about Telegraf on Windows is that you can basically monitor any system service that reports to the Windows performance counters. So creating a Hyper-V dashboard is actually fairly easy.

Create a new input configuration file in the telegraf.d directory:

Terminal window
notepad C:\telegraf\telegraf.d\hyperv.conf

Paste the following into your new file, then save.

[[inputs.win_perf_counters.object]]
ObjectName = "Hyper-V Virtual Machine Health Summary"
Instances = ["------"]
Measurement = "hyperv_health"
Counters = [
"Health Ok",
"Health Critical",
]
[[inputs.win_perf_counters.object]]
ObjectName = "Hyper-V Hypervisor"
Instances = ["------"]
Measurement = "hyperv_hypervisor"
Counters = [
"Logical Processors",
"Partitions",
]
[[inputs.win_perf_counters.object]]
ObjectName = "Hyper-V Hypervisor Virtual Processor"
Instances = ["*"]
Measurement = "hyperv_processor"
Counters = [
"% Guest Run Time",
"% Hypervisor Run Time",
"% Idle Time",
"% Total Run Time",
]
[[inputs.win_perf_counters.object]]
ObjectName = "Hyper-V Dynamic Memory VM"
Instances = ["*"]
Measurement = "hyperv_dynamic_memory"
Counters = [
"Current Pressure",
"Guest Visible Physical Memory",
]
[[inputs.win_perf_counters.object]]
ObjectName = "Hyper-V VM Vid Partition"
Instances = ["*"]
Measurement = "hyperv_vid"
Counters = [
"Physical Pages Allocated",
]
[[inputs.win_perf_counters.object]]
ObjectName = "Hyper-V Virtual Switch"
Instances = ["*"]
Measurement = "hyperv_vswitch"
Counters = [
"Bytes Received/Sec",
"Bytes Sent/Sec",
"Packets Received/Sec",
"Packets Sent/Sec",
]
[[inputs.win_perf_counters.object]]
ObjectName = "Hyper-V Virtual Network Adapter"
Instances = ["*"]
Measurement = "hyperv_vmnet"
Counters = [
"Bytes Received/Sec",
"Bytes Sent/Sec",
"Packets Received/Sec",
"Packets Sent/Sec",
]
[[inputs.win_perf_counters.object]]
ObjectName = "Hyper-V Virtual IDE Controller"
Instances = ["*"]
Measurement = "hyperv_vmdisk"
Counters = [
"Read Bytes/Sec",
"Write Bytes/Sec",
"Read Sectors/Sec",
"Write Sectors/Sec",
]
[[inputs.win_perf_counters.object]]
ObjectName = "Hyper-V Virtual Storage Device"
Instances = ["*"]
Measurement = "hyperv_storage"
Counters = [
"Write Operations/Sec",
"Read Operations/Sec",
"Read Bytes/Sec",
"Write Bytes/Sec",
"Latency",
"Throughput",
]

Restart Telegraf with the new config file.

Terminal window
net stop telegraf
net start telegraf

Import dashboard ID: 2618 into Grafana and set your data source to telegraf.

Grafana Guide

Check out my Grafana Guide if you are new to Grafana and want to get up and going!

Back to Blog

Comments


Related Posts

View All Posts »