#!/usr/bin/perl

($device, $warning, $critical) = @ARGV;

$interactions = 6;

$iostat = `which iostat`; chomp($iostat);

@lines = grep { $_ =~ $device } `$iostat 1 $interactions`;

# Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
# sda              15.34       284.16        73.42    4647268    1200792

my ($t_read, $t_write);
my $flag = 0;
foreach $line (@lines) {
   if (not $flag) { $flag ++; next; }
   $line =~ m/^\s*$device\s+(\S*)\s*(\S*)\s*(\S*)\s*(\S*)\s*(\S*).*$/;
   # $1 - tps
   # $2 - Blk_read/s
   # $3 - Blk_wrtn/s
   # $4 - Blk_read
   # $5 - Blk_wrtn
   $t_read += $4;
   $t_write += $5;
   $flag++;
}

$t_rw = ($t_read/($interactions-1)) + ($t_write/($interactions-1));

if ($t_rw > $critical) {
   print "CRITICAL - Device rw $t_rw | rw=$t_rw;$warning;$critical;0;\n";
   exit(2);
}elsif ($t_rw > $warning) {
   print "WARNING - Device rw $t_rw | rw=$t_rw;$warning;$critical;0;\n";
   exit(1);
}else{
   print "OK - Device rw $t_rw | rw=$t_rw;$warning;$critical;0;\n";
   exit(0);
}
