aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorGravatar Stanley Hopcroft <stanleyhopcroft@users.sourceforge.net> 2004-11-25 03:01:23 +0000
committerGravatar Stanley Hopcroft <stanleyhopcroft@users.sourceforge.net> 2004-11-25 03:01:23 +0000
commitc47662b146f66751af1aca2e76869f1cf858cbb6 (patch)
tree32ec4c7a0f28622143f377c95f2dec3a738d9d20 /contrib
parent2acbb0a6e7fc9d33ab4d3fd0cb8bf7cffb56298b (diff)
downloadmonitoring-plugins-c47662b146f66751af1aca2e76869f1cf858cbb6.tar.gz
update check_hprsc.pl for Net-SNMP versions >=4
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@937 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'contrib')
-rwxr-xr-xcontrib/check_hprsc.pl42
1 files changed, 24 insertions, 18 deletions
diff --git a/contrib/check_hprsc.pl b/contrib/check_hprsc.pl
index 23e6261f..7a856502 100755
--- a/contrib/check_hprsc.pl
+++ b/contrib/check_hprsc.pl
@@ -23,7 +23,7 @@ $ENV{'BASH_ENV'}="";
if (-e "/usr/bin/snmpwalk") {
$snmpwalk = "/usr/bin/snmpwalk";
} elsif (-e "/usr/local/bin/snmpwalk") {
- $snmpwalk = "/usr/local/snmpwalk";
+ $snmpwalk = "/usr/local/bin/snmpwalk";
}
@@ -45,41 +45,47 @@ GetOptions( "check-filesystem" => \$chk_fs,
"community=s" => \$target_community,
"filesystemID1=i" => \$fsid1_opt,
"filesystem=s" => \$fs_opt,
+ "protocol:s" => \$proto_opt,
"warning=i" => \$warning_opt,
"critical=i" => \$critical_opt);
+$proto_opt = 1
+ unless $proto_opt == 1 ||
+ $proto_opt == '2c' ||
+ $proto_opt == 3;
+
if ($chk_fs) {
- walk_data($snmpwalk, $target_host, $target_community, $mounted_OID );
- walk_data($snmpwalk, $target_host, $target_community, $totalspace_OID );
- walk_data($snmpwalk, $target_host, $target_community, $freespace_OID ); check_filesystem($fs_opt, $warning_opt, $critical_opt);
+ walk_data($snmpwalk, $target_host, $target_community, $mounted_OID,$proto_opt );
+ walk_data($snmpwalk, $target_host, $target_community, $totalspace_OID,$proto_opt );
+ walk_data($snmpwalk, $target_host, $target_community, $freespace_OID,$proto_opt ); check_filesystem($fs_opt, $warning_opt, $critical_opt);
} elsif ($show_fs) {
- walk_data($snmpwalk, $target_host, $target_community, $filesystemID1_OID);
- walk_data($snmpwalk, $target_host, $target_community, $mounted_OID );
- walk_data($snmpwalk, $target_host, $target_community, $path_OID);
+ walk_data($snmpwalk, $target_host, $target_community, $filesystemID1_OID,$proto_opt);
+ walk_data($snmpwalk, $target_host, $target_community, $mounted_OID,$proto_opt );
+ walk_data($snmpwalk, $target_host, $target_community, $path_OID,$proto_opt);
show_filesystem();
} elsif ($chk_fsid){
$totalspace_fsID_OID = "$totalspace_OID.$fsid1_opt";
$freespace_fsID_OID = "$freespace_OID.$fsid1_opt";
- walk_data($snmpwalk, $target_host, $target_community, $totalspace_fsID_OID);
- walk_data($snmpwalk, $target_host, $target_community, $freespace_fsID_OID);
+ walk_data($snmpwalk, $target_host, $target_community, $totalspace_fsID_OID,$proto_opt);
+ walk_data($snmpwalk, $target_host, $target_community, $freespace_fsID_OID,$proto_opt);
check_filesystemID1($fsid1_opt, $warning_opt, $critical_opt);
} elsif ($chk_cpu) {
- get_cpu_load($snmpwalk, $target_host, $target_community, $cpu_5min_OID);
+ get_cpu_load($snmpwalk, $target_host, $target_community, $cpu_5min_OID,$proto_opt);
check_cpu_5min($cpu, $warning_opt, $critical_opt);
} else {
print "\n\nUsage:\n";
print "Checking 5-min CPU Load:\n";
- print " $0 --check-cpu -warning <threshold> --critical <threshold> --host <yourhost> --community <SNMP community>\n\n";
+ print " $0 --check-cpu -warning <threshold> --critical <threshold> --host <yourhost> --community <SNMP community> --protocol <SNMP version [1|2c|3]>\n\n";
print "Checking local filesystem mounted on a host:\n";
- print " $0 --show-filesystems --host <hostname> --community <SNMP community>\n\n";
+ print " $0 --show-filesystems --host <hostname> --community <SNMP community> --protocol <SNMP version [1|2c|3]>\n\n";
print "Checking by filesystem name:\n";
- print " $0 --check-filesystem --filesystem </dev/vg00/lvol1> --warning <% used space> --critical <% used space> --host <hostname> --community <SNMP community>\n\n";
+ print " $0 --check-filesystem --filesystem </dev/vg00/lvol1> --warning <% used space> --critical <% used space> --host <hostname> --community <SNMP community> --protocol <SNMP version [1|2c|3]>\n\n";
print "Checking by filesystem ID:\n";
- print " $0 --check-filesystemID --filesystemID <filesystemID1> --warning <% used space> --critical <% used space> --host <hostname> --community <SNMP community>\n\n";
+ print " $0 --check-filesystemID --filesystemID <filesystemID1> --warning <% used space> --critical <% used space> --host <hostname> --community <SNMP community> --protocol <SNMP version [1|2c|3]>\n\n";
}
sub get_cpu_load {
- my ($snmpwalk, $target_host, $target_community, $OID) = @_;
+ my ($snmpwalk, $target_host, $target_community, $OID,$vers) = @_;
die "cannot fork: $!" unless defined($pid = open(SNMPWALK, "-|"));
if ($pid) { # parent
@@ -89,13 +95,13 @@ sub get_cpu_load {
}
close(SNMPWALK) or warn "kid exited $?";
} else { # child
- exec($snmpwalk,$target_host,$target_community,$OID) or die "can't exec program: $!";
+ exec($snmpwalk,'-c',$target_community,'-v',$vers,$target_host,$OID) or die "can't exec program: $!";
}
}
sub walk_data {
#This function queries the SNMP daemon for the specific OID
- my ($snmpwalk, $target_host, $target_community, $OID) = @_;
+ my ($snmpwalk, $target_host, $target_community, $OID,$vers) = @_;
die "cannot fork: $!" unless defined($pid = open(SNMPWALK, "-|"));
@@ -106,7 +112,7 @@ sub walk_data {
}
close(SNMPWALK) or warn "kid exited $?";
} else { # child
- exec($snmpwalk,$target_host,$target_community,$OID) or die "can't exec program: $!";
+ exec($snmpwalk,'-c',$target_community,'-v',$vers,$target_host,$OID) or die "can't exec program: $!";
}
}