[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