#!/bin/sh # # created by Chifeng Qu # ZPOOL=/usr/sbin/zpool POOLNAME=`basename $0 | sed 's/^zfs_//g'` TAIL=/usr/gnu/bin/tail if [ "$1" = "config" ]; then echo "graph_title ZFS pool $POOLNAME read/write (in MB)" echo 'graph_category disk' echo "read.label ReadSpeed" echo "write.label WriteSpeed" exit 0 fi $ZPOOL iostat $POOLNAME 1 2 | $TAIL -1 | nawk ' function scale(value) { if (value ~ /G$/) { sub("G", "", value); value *= 1024 } else if (value ~ /M$/) sub("M", "", value) else if (value ~ /K$/) { sub("K", "", value); value /= 1024 } else value /= 1024 * 1024; return value; } { bread = scale($6); bwrite = scale($7); print "read.value", bread print "write.value", bwrite }'