version 1.1, 2010/01/14 22:21:34 |
version 1.2, 2010/01/14 22:37:40 |
|
|
#!/usr/bin/perl -T |
#!/usr/bin/perl -T |
# $AFresh1$ |
# $AFresh1: check_pf_limits,v 1.1 2010/01/14 22:21:34 andrew Exp $ |
######################################################################## |
######################################################################## |
# check_openbgpd *** A nagios check for OpenBSD bgpd |
# check_openbgpd *** A nagios check for OpenBSD bgpd |
# |
# |
|
|
rate => $rate, |
rate => $rate, |
}; |
}; |
} |
} |
default { return } |
default {return} |
} |
} |
|
|
return 1; |
return 1; |
|
|
} |
} |
|
|
foreach my $k ( keys %{$C} ) { |
foreach my $k ( keys %{$C} ) { |
|
next if 0 == index $k, '_'; |
if ( !exists $matched{$k} ) { |
if ( !exists $matched{$k} ) { |
push @{ $states{CRITICAL} }, '[' . $k . '] Unsupported Limit'; |
push @{ $states{CRITICAL} }, '[' . $k . '] Unsupported Limit'; |
} |
} |
|
|
sub getopt { |
sub getopt { |
my (@argv) = @_; |
my (@argv) = @_; |
|
|
my %checks; |
my ( %checks, $w, $c ); |
while (@argv) { |
while (@argv) { |
my $opt = shift @argv; |
my $opt = shift @argv; |
given ($opt) { |
given ($opt) { |
state( $w, $c ); |
|
when ( '-V' || '--version' ) { |
when ( '-V' || '--version' ) { |
print_revision( $PROGNAME, '$Revision$ ' ); |
print_revision( $PROGNAME, '$Revision$ ' ); |
exit $ERRORS{'OK'} |
exit $ERRORS{'OK'} |
|
|
when (/^-?-c(?:ritical)?/xms) { |
when (/^-?-c(?:ritical)?/xms) { |
$c = parse_check( shift @argv ) |
$c = parse_check( shift @argv ) |
} |
} |
when (/^-?-u(?:nknown)?/xms) { |
|
$checks{_UNKNOWN} = { |
|
WARNING => $w, |
|
CRITICAL => $c, |
|
} |
|
} |
|
when (/^-?-l(?:limit)?/xms) { |
when (/^-?-l(?:limit)?/xms) { |
while ( @argv && $argv[0] !~ /^-/xms ) { |
while ( @argv && $argv[0] !~ /^-/xms ) { |
$checks{ shift @argv } = { |
$checks{ shift @argv } = { |
|
|
default { print_help(); exit $ERRORS{'UNKNOWN'} } |
default { print_help(); exit $ERRORS{'UNKNOWN'} } |
} |
} |
} |
} |
|
|
|
$checks{_UNKNOWN} = { |
|
WARNING => $w, |
|
CRITICAL => $c, |
|
}; |
return %checks; |
return %checks; |
} |
} |
|
|