System diskio module is not capturing all expected fields

I am running metricbeat 7.6.2 on Windows server 2012.
I am trying to capture these disk I/O fields with the system module:

  • system.diskio.iostat.busy
  • system.diskio.iostat.queue.avg_size

It appears that only these fields are being captured from the diskio module:

  • system.diskio.io.time
  • system.diskio.name
  • system.diskio.read.bytes
  • system.diskio.read.count
  • system.diskio.read.time
  • system.diskio.write.bytes
  • system.diskio.write.count
  • system.diskio.write.time

This is my system.yml file:

- module: system
  period: 10s
  metricsets:
    - cpu
    #- load
    - memory
    - network
    - process
    #- process_summary
    #- socket_summary
    #- entropy
    #- core
    - diskio
    #- socket
    #- service
  diskio.include_devices: ["C:", "D:"]
  process.include_top_n:
    by_cpu: 5      # include top 5 processes by CPU
    by_memory: 5   # include top 5 processes by memory

Hello!
There are no stats at all or they're reported as zero?

I am not sure 100% of iostat can be captured on Windows.

See:

I think there has been a recent change in the way we collect the stats on 7.2.0 (https://www.elastic.co/guide/en/beats/libbeat/7.6/release-notes-7.2.0.html).

I do not have a windows server 2012 to spin up right now, but it would be interesting to check.

What exact version are you on?

Hi Luca,

The OS is Windows Server 2012 R2 Standard. Elasticsearch version is 7.0.0 and Metricbeat is version 7.6.2.
I believe there is no data for any system.diskio.iostat fields at all. They don't appear in the documents.
After checking the documents from the same Metricbeat configuration on Windows 10 Enterprise, the fields aren't captured there either.
Do you know if there are plans to capture iostat on Windows in the future?

Thank you,
Chantalle

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