How to get diskio read and write counts for a particular process


(Kunapaneni Siddhartha) #1

Can we get the read and write io counts (system.diskio.read.count and system.diskio.write.count) for a specific process(system.process.name)?


(Mario Castro) #2

Hi @kunapaneni_siddharth :slight_smile:

This is easily achieved in Kibana by setting up the proper search when building the chart. If you want a "direct" way without using Kibana, I'm afraid that we can't do anything like this yet.

Feel free to file an enhancement issue on https://github.com/elastic/beats

Regards!


(Kunapaneni Siddhartha) #3

Hi @Mario_Castro
read and write io counts (system.diskio.read.count and system.diskio.write.count) are in a metricset named diskio and system.process.name is in a different metricset named process. So, it's not giving the read and write counts for a specific process.

Plz find the screenshot attached

Regards


(Mario Castro) #4

I'm sorry, I misunderstood your question the first time. diskio metricset uses specific syscalls related to hard disk to retrieve the IO but I'm afraid that the information we retrieve is not attached anyhow to specify processes.


(Kunapaneni Siddhartha) #5

"the total IO on disk is the sum of the IO per each peocess".Is it correct?
If yes, Is it possible to get IO per process?


(Mario Castro) #6

I'm afraid that no, while the definition is correct, we don't fetch IO per process and then sum up everything to give a value in system metricset. In resume, we just fetch the value returned by the disk


(Kunapaneni Siddhartha) #7

Can you please suggest me some way to get the visualization of IO per process? or getting at least the process that is having maximum IO.

I have seen in Process Explorer that is is able to give the visualization of process that is having maximum IO versus time. Getting something like that is it possible with kibana?

Please find the screenshot below