磁盘IO监控脚本-创新互联
#!/usr/bin/perl -w
use strict;
use Regexp::Common;
use Getopt::Long;
my %values;
my $result;
my ($iostat,$data,$perfdata);
my ($warning,$critical,$disk);
$result = GetOptions("disk=s" => \$disk,
"d=s" => \$disk,
"warning=i" => \$warning,
"w=i" => \$warning,
"critical=i" => \$critical,
"c=i" => \$critical,
"help" => \&help,
);
$warning ||= 75;
$critical ||= 80;
$disk ||= undef;
&main();
sub main(){
&set_iostat();
&get_data();
if ( $values{'%util'} < $warning )
{
print "TEST_IO OK - " . "$data| $perfdata\n";
}
elsif ( $values{'%util'} >= $warning )
{
print "TEST_IO WARNING - " . "$data| $perfdata\n";
}
elsif ( $values{'%util'} >= $critical )
{
print "TEST_IO CRITICAL - " . "$data| $perfdata\n";
}
else #No clue what value is there!
{
print "UNKNOWN - Error in command output\n";
}
}
sub set_iostat(){
if (defined $disk){
$iostat = "iostat " . "$disk";
}else{
$iostat = "iostat";
}
}
sub get_data(){
&set_iostat();
my $output = `$iostat -d -x 1 3 |tail -n 3`;
unless($output) {
print "Error executing iostat command\n";
}
$output =~ /Device.*?/gs;
foreach my $key (qw(rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util)){
if($output =~ /\G.*?($RE{num}{real})/gs){
$data .= sprintf("%s %s ", $key, $1);
}
}
%values = split ' ', $data;
$data = '';
foreach my $key(qw(r/s w/s avgqu-sz await svctm %util)){
$data .= sprintf("%s %s ",$key,$values{$key});
#排除(await、svctm、%util)的perfdata输出
# if( $key eq 'r/s'|| $key eq 'w/s'|| $key eq 'avgqu-sz'){
$perfdata .= $key . "=" . $values{$key} . " ";
# }
}
}
sub help{
print "Usage: -d|--disk= -w|--warning= -c|--critical=\n";
} #perl check_diskio.pl -d /dev/sda -w 75 -c 80

TEST_IO OK - r/s 0.00 w/s 3.00 avgqu-sz 0.01 await 3.00 svctm 1.00 %util 0.30 | r/s=0.00 w/s=3.00 avgqu-sz=0.01 await=3.00 svctm=1.00 %util=0.30
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章题目:磁盘IO监控脚本-创新互联
转载注明:http://www.jxjierui.cn/article/csdijs.html


咨询
建站咨询
