summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2013-09-20 15:18:53 +0200
committerAlexander Sulfrian <alexander@sulfrian.net>2013-09-20 15:18:53 +0200
commit5508e60112dad4e30300d807442c7e9795acf1fe (patch)
tree7083d08216e4674655f736ca545fe622e48e91c6
parent412cc6994a81bb8f7562cb99ae1f92c32d88828e (diff)
downloadcheck-snmp-switch-5508e60112dad4e30300d807442c7e9795acf1fe.tar.gz
check-snmp-switch-5508e60112dad4e30300d807442c7e9795acf1fe.tar.bz2
check-snmp-switch-5508e60112dad4e30300d807442c7e9795acf1fe.zip
add nagios-plugin output
-rwxr-xr-xcheck_snmp_switch_traffic.pl20
1 files changed, 14 insertions, 6 deletions
diff --git a/check_snmp_switch_traffic.pl b/check_snmp_switch_traffic.pl
index be6bbcf..2b832be 100755
--- a/check_snmp_switch_traffic.pl
+++ b/check_snmp_switch_traffic.pl
@@ -21,7 +21,7 @@ sub snmp_walk($$$) {
my $results = $session->get_next_request(
-varbindlist => [ $oid ]
);
- return unless $results;
+ nagios_die($session->error()) unless $results;
foreach my $result (keys %{ $results }) {
return unless index($result, "${start}.") eq 0;
@@ -92,13 +92,20 @@ sub get_info ($$) {
}
}
else {
- print $session->error();
+ nagios_die($session->error());
}
}
return $IFACES;
}
+sub nagios_die ($) {
+ my $err = shift;
+ $err = "Unknown error" unless defined $err;
+ print "SNMP UNKNOWN - $err\n";
+ exit 3;
+}
+
my $host;
my $port = 161;
my $community = 'public';
@@ -118,17 +125,18 @@ my ($session, $err) = Net::SNMP->session(
-port => $port,
-community => $community
);
-die "[ERROR] $err\n" unless defined $session;
+nagios_die($err) unless defined $session;
my $IFACES = get_ifaces($session);
get_info($session, $IFACES);
+$session->close();
+print "SNMP OK |";
foreach my $key (sort {$a <=> $b} keys %{ $IFACES }) {
- printf "%s(in)=%s; %s(out)=%s; ", $IFACES->{$key}{'name'}, $IFACES->{$key}{'in'}, $IFACES->{$key}{'name'}, $IFACES->{$key}{'out'};
+ printf " %s(in)=%sc; %s(out)=%sc;", $IFACES->{$key}{'name'}, $IFACES->{$key}{'in'}, $IFACES->{$key}{'name'}, $IFACES->{$key}{'out'};
}
print "\n";
-
-$session->close();
+exit 0;
__END__