System.diskio.io.time == 0 on Windows

Using Metricbeat and metricset.name = diskio on a Windows Server 2012R2.

On system.diskio.io.time i only get value 0 but the other values is working fine.

What could be wrong?

#------------------------------- System Module -------------------------------
- module: system
  metricsets:
    
   # CPU stats
    - cpu

   # IO stats
    - diskio

   # Per filesystem stats
    - filesystem

   # File system summary stats
    - fsstat

   # Memory stats
    - memory

   # Network stats
    - network

   # Per process stats
    - process

 enabled: true
  period: 60s
  processes: ['.*']

Many thanks!

The data is collected by using a WMI query.

PS C:\Users\vagrant> Get-WmiObject -query "SELECT * FROM Win32_PerfFormattedData_PerfDisk_LogicalDisk"

with the values being mapped using disk_windows.go. Do you see zeros if you run the query manually? I think because they are pre-averaged by Windows it causes problems.

There has been some discussion of using Windows Performance Counters to collect these metrics instead of WMI. It is possible in Metricbeat 6.0 to collect the disk metrics using the performance counters, but you have to configure it through a separate metricset.

1 Like

If you only do one thing to metricbeat in elastic6, it should be throwing out wmi. I don't have words how lousy that api is for gathering metrics, it can't be trusted for anything.

Yes thanks when running your Query it says 0

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.