influxdata/telegraf
View on GitHub[inputs.win_perf_counters] skip "error while getting value for counter" for hyper-v
Open
#16,086 opened on Oct 28, 2024
feature requesthelp wanted
Description
Relevant telegraf.conf
[[inputs.win_perf_counters]]
[[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"
]
Logs from Telegraf
2024-10-28T13:02:30Z E! [inputs.win_perf_counters] Error in plugin: error during collecting data on host "localhost": error while getting value for counter "\\Hyper-V Hypervisor Virtual Processor(*)\\% Guest Run Time": The data item has been added to the query, but has not been validated or accessed. No other status information about this data item is available.
2024-10-28T13:02:45Z E! [inputs.win_perf_counters] Error in plugin: error during collecting data on host "localhost": error while getting value for counter "\\Hyper-V Hypervisor Virtual Processor(*)\\% Guest Run Time": The data item has been added to the query, but has not been validated or accessed. No other status information about this data item is available.
System info
Windows Server 2019 - Hyper-v
Docker
No response
Steps to reproduce
- Run a Hyper-v host with vms
- Run Telegraf
- Remove or stop all VMs
- See logs ...
Expected behavior
[inputs.win_perf_counters] to ignore or handle the temporarily missing counter to not break the scraping of metrics.
Actual behavior
When no vm is running on a hyper-v host, the following (and maybe even more) counters are not filled with values/dont exists: ObjectName = "Hyper-V Hypervisor Virtual Processor" - "% Guest Run Time" ObjectName = "Hyper-V Hypervisor Logical Processor" - "% Guest Run Time"
Telegraf then returns the error from the [inputs.win_perf_counters] plugin. With this no other metric is collected anymore.
When turning on a VM the error is fixed and metrics are collected again.
Additional info
No response