jperillo / Synology_dashboard_grafana

A grafana dashboard for monitoring Synology NAS
130 stars 32 forks source link

How to monitor IOPS #3

Open ambroseyo opened 6 years ago

ambroseyo commented 6 years ago

Can you say how to monitor iops with this method? thx

bogd commented 6 years ago

As far as I know, Synology will only report disk I/O as bytes read/written from/to each disk. The script already pulls this info as part of diskTable - you just need to create the corresponding graphs (calculating the Bps as non_negative_derivative, similarly to interface traffic).

Converting this to IOPS is another problem, because it also depends on the block sized used for the I/O. The formula is: IOPS = (MBps Throughput / KB per IO) * 1024

Assuming a (fairly typical) block size of 4KB, this works out to: IOPS = (MBps Throughput / 4) * 1024

ybizeul commented 5 years ago

I was wondering myself and managed to do it. There is a storageIOTable that’s available through SNMP but for some reason has not been included here

Here is what I added in telegraf config :

  #Syno DiskIO
  [[inputs.snmp.table]]
    oid = "SYNOLOGY-STORAGEIO-MIB::storageIOTable"
    [[inputs.snmp.table.field]]
      is_tag = true
    oid = "SYNOLOGY-STORAGEIO-MIB::storageIODevice"

This is disk load but disk read/write IOPS and throughput is available as well

img_0067

I’ll do a pull request when I get a chance, DashBoard should be spelled Dashboard also

ybizeul commented 5 years ago

So here it is with the full IOPS/disk%/load, etc... very instructive I was able to fix a performance issue I had for a while.

image

gcorgnet commented 4 years ago

Great stuff, would you mind sharing what your queries look like? I have the data into Influx but get confused about how to query it between IOPS/disk% and load.. Thanks!

ybizeul commented 4 years ago

https://grafana.com/grafana/dashboards/9961