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;
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
$total_ ios_per_ sec ? $utilization / $total_ios_per_sec / 1000 : 0;
+ my $rw_util = ($rd_ticks + $wr_ticks) / $interval;
+
# Average time an I/O takes on the block device
my $servicetime_in_sec =
@@ -253,9 +256,11 @@
: 0;
my $util_print = $utilization / 10;
+ my $rw_util_print = $rw_util / 10;
return {
utilization => $util_print,
servicetime => $servicetime_ in_sec,
average_ wait => $average_ wait_in_ sec,
average_ rd_wait => $average_ rd_wait_ in_sec,
+ rw_util => $rw_util_print,
@@ -298,6 +303,8 @@
print "${graph_ id}_util. value " >{$device} ->{'utilization '} . "\n"; id}_rw_ util.value " >{$device} ->{'rw_ util'} . "\n";
. $result-
+ print "${graph_
+ . $result-
}
print "\nmultigraph ${plugin_ name}_throughpu t\n";
@@ -342,6 +349,7 @@
multigraph ${plugin_ name}_utilizati on.$graph_ id >{'utilization' } >{'rw_util' }
util.value $result-
+rw_util.value $result-
EOF
} id}_util. info Utilization of the device id}_util. min 0 id}_util. draw LINE1 id}_rw_ util.label $cur_diskstats{ $device} ->{'pretty_ device_ name'} id}_rw_ util.type GAUGE id}_rw_ util.info Read/write utilization of the device id}_rw_ util.min 0 id}_rw_ util.draw LINE1
@@ -784,6 +792,11 @@
${graph_
${graph_
${graph_
+${graph_
+${graph_
+${graph_
+${graph_
+${graph_
EOF
}