influxdata / influxdata/telegraf

[inputs.win_perf_counters] skip "error while getting value for counter" for hyper-v

Open
#16,086 5 comments 0 reactions 1 assignee Claimed by @srebhan View on GitHub
feature request help wanted
Dominant language
Go
Stars
17.8k
Forks
5.8k
Avg merge
1d 20h
Merged PRs (30d)
161

Description

### Relevant telegraf.conf

```toml
[[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

```text
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

1. Run a Hyper-v host with vms
2. Run Telegraf
3. Remove or stop all VMs
4. 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_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.