Comment 22 for bug 1790181

Revision history for this message
nyet (nyetwurk) wrote :

Here is my patch for munin diskstats:

diff -u diskstats-dist diskstats
--- diskstats-dist 2018-09-29 16:28:39.933727540 -0700
+++ diskstats 2018-11-12 09:54:56.850815309 -0800
@@ -234,6 +234,9 @@
     # a given second, the device is nearly 100% saturated.
     my $utilization = $tot_ticks / $interval;

+ # NVME drives tend to show nearly 100% util, so lets use r+w as an alternate
+ my $rw_util = ($rd_ticks + $wr_ticks) / $interval;
+
     # Average time an I/O takes on the block device
     my $servicetime_in_sec =
       $total_ios_per_sec ? $utilization / $total_ios_per_sec / 1000 : 0;
@@ -253,9 +256,11 @@
       : 0;

     my $util_print = $utilization / 10;
+ my $rw_util_print = $rw_util / 10;

     return {
         utilization => $util_print,
+ rw_util => $rw_util_print,
         servicetime => $servicetime_in_sec,
         average_wait => $average_wait_in_sec,
         average_rd_wait => $average_rd_wait_in_sec,
@@ -298,6 +303,8 @@

         print "${graph_id}_util.value "
           . $result->{$device}->{'utilization'} . "\n";
+ print "${graph_id}_rw_util.value "
+ . $result->{$device}->{'rw_util'} . "\n";
     }

     print "\nmultigraph ${plugin_name}_throughput\n";
@@ -342,6 +349,7 @@

 multigraph ${plugin_name}_utilization.$graph_id
 util.value $result->{'utilization'}
+rw_util.value $result->{'rw_util'}
 EOF

     }
@@ -784,6 +792,11 @@
 ${graph_id}_util.info Utilization of the device
 ${graph_id}_util.min 0
 ${graph_id}_util.draw LINE1
+${graph_id}_rw_util.label $cur_diskstats{$device}->{'pretty_device_name'}
+${graph_id}_rw_util.type GAUGE
+${graph_id}_rw_util.info Read/write utilization of the device
+${graph_id}_rw_util.min 0
+${graph_id}_rw_util.draw LINE1
 EOF
     }