[Nagiosplug-checkins] nagiosplug/contrib check_hprsc.pl,1.1,1.2
Stanley Hopcroft
stanleyhopcroft at users.sourceforge.net
Wed Nov 24 19:02:08 CET 2004
Update of /cvsroot/nagiosplug/nagiosplug/contrib
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2293
Modified Files:
check_hprsc.pl
Log Message:
update check_hprsc.pl for Net-SNMP versions >=4
Index: check_hprsc.pl
===================================================================
RCS file: /cvsroot/nagiosplug/nagiosplug/contrib/check_hprsc.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- check_hprsc.pl 1 Mar 2002 02:42:56 -0000 1.1
+++ check_hprsc.pl 25 Nov 2004 03:01:23 -0000 1.2
@@ -23,7 +23,7 @@
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 @@
"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 @@
}
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 @@
}
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: $!";
}
}
More information about the Commits
mailing list