Why system.diskio doesn't produce I/O statistics fields like "iostat"

The system.diskio just outputs metrics below:

{
    "io": {
        "time": 4130
    },
    "name": "vda1",
    "read": {
        "bytes": 204800,
        "count": 36,
        "time": 960
    },
    "write": {
        "bytes": 2281472,
        "count": 224,
        "time": 29700
    }
}

Actually, this is not make sense, user perfers the output of "iostat". so whether it can be improved as, for example:

{
    "rBps": 27454.498582,
    "avgrqsz": 18810.434783,
    "wrqmCps": 0,
    "wrqCps": 1.54679,
    "rrqmCps": 0,
    "name": "/dev/sda2",
    "svctm": 2.086957,
    "busy": 0.494973,
    "wBps": 17159.061614,
    "rrqCps": 0.824955,
    "avgqusz": 0.010312,
    "await": 4.347826
}

I have enhanced the module and the output becomes almost the same fields like "iostat". And i also tested and compared the result with "iostat" using python and grafna.

Anyone interest this feature? Can i open a PR ?

The graph above is configured in grafna, showing some metrics of a disk. The green series is report by my a simple python program which lauch sar -d 1 every 1s; the yellow series is report my metricbeat(diskio output enhanced).

From the graph, we can see they are almost same.

since our pipeline to process raw metricbeat data is quit complex, the yellow one is delayed a little.

1 Like

Sure, open a PR with what you have and we can better consider adding the feature. Thanks

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