version 1.22, 2017/02/08 17:34:23 |
version 1.23, 2017/02/08 19:00:15 |
|
|
#!/usr/bin/perl -T |
#!/usr/bin/perl -T |
# $AFresh1: check_bioctl,v 1.21 2017/02/08 16:31:55 andrew Exp $ |
# $AFresh1: check_bioctl,v 1.22 2017/02/08 17:34:23 andrew Exp $ |
######################################################################## |
######################################################################## |
# check_bioctl *** A nagios check for OpenBSD bioctl |
# check_bioctl *** A nagios check for OpenBSD bioctl |
# |
# |
|
|
} |
} |
exit $ERRORS{$state}; |
exit $ERRORS{$state}; |
|
|
|
sub fail { |
|
my ($message) = @_; |
|
print $message; |
|
exit $ERRORS{'UNKNOWN'}; |
|
} |
|
|
sub read_bioctl { |
sub read_bioctl { |
my ($devices) = @_; |
my ($devices) = @_; |
my %volumes; |
my %volumes; |
|
|
foreach my $d ( @{$devices} ) { |
foreach my $d ( @{$devices} ) { |
open my $bioctl, q{-|}, @DOAS, $BIOCTL, $d |
open my $bioctl, q{-|}, @DOAS, $BIOCTL, $d |
or die "Couldn't open bioctl: $!\n"; |
or fail("Couldn't open bioctl: $!\n"); |
LINE: while ( my $line = <$bioctl> ) { |
LINE: while ( my $line = <$bioctl> ) { |
my ( $i, $item ) = parse_bioctl_line($line); |
my ( $i, $item ) = parse_bioctl_line($line); |
next LINE if !defined $i; |
next LINE if !defined $i; |
$volumes{$d}{$i} = $item; |
$volumes{$d}{$i} = $item; |
} |
} |
## no critic 'die' |
|
close $bioctl |
close $bioctl |
or die $! |
or fail( $! |
? "Error closing bioctl pipe: $!\n" |
? "Error closing bioctl pipe: $!\n" |
: "Exit status $? from bioctl \n"; |
: "Exit status $? from bioctl\n" ); |
} |
} |
|
|
foreach my $d ( keys %volumes ) { |
foreach my $d ( keys %volumes ) { |