nagios-plugins po raz kolejny
Marek Marczykowski
marmarek w staszic.waw.pl
Pią, 5 Gru 2008, 15:48:28 CET
W zaĹÄ
czniku kilka Ĺatek na nagios-plugins:
nagios-plugins-check_disk_smb-zero-cap.patch:
- moĹźliwoĹÄ sprawdzania zasobu o pojemnoĹci 0 (np IPC$)
nagios-plugins-check_hpjd-no-paper-out.patch:
- dodatkowa opcja, wyĹÄ
czajÄ
ca warning o braku papieru
nagios-plugins-check_snmp_disk_monitor-bulk.patch:
- blukwalk po 2, a nie 4 (workaround na bug w snmp w perlu)
nagios-plugins-check_snmp_procs-fix.patch:
- zadeklarowanie zmiennych, ktĂłrych siÄ uĹźywa...
nagios-plugins-paths.patch:
- ĹcieĹźki do utils.pl
Do tego ostatniego jeszcze sed w specu masowo poprawiajÄ
cy te ĹcieĹźki
(dla pluginĂłw w contrib/), oraz uĹźywanie systemowego regex.
--
Pozdrawiam,
Marek Marczykowski | gg:2873965
marmarek at staszic waw pl | xmpp:marmarek at staszic waw pl
-------------- następna część ---------
--- plugins-scripts/check_disk_smb.orig 2008-04-23 12:22:41.792842643 +0000
+++ plugins-scripts/check_disk_smb.pl 2008-04-23 12:23:31.728177767 +0000
@@ -181,7 +181,8 @@
my ($avail) = ($3*$2)/1024;
my ($avail_bytes) = $avail;
- my ($capper) = int(($3/$1)*100);
+ my ($capper);
+ if ($1!=0) { $capper = int(($3/$1)*100) } else { $capper=100 };
my ($mountpt) = "\\\\$host\\$share";
-------------- następna część ---------
diff -aru nagios-plugins-1.4.13.orig/plugins/check_hpjd.c nagios-plugins-1.4.13/plugins/check_hpjd.c
--- plugins/check_hpjd.c 2008-05-07 12:02:42.000000000 +0200
+++ plugins/check_hpjd.c 2008-12-05 15:19:10.746605526 +0100
@@ -70,6 +70,7 @@
char *community = NULL;
char *address = NULL;
+int nopaperout = 0;
int
main (int argc, char **argv)
@@ -243,7 +244,9 @@
strcpy (errmsg, _("Paper Jam"));
}
else if (paper_out) {
- result = STATE_WARNING;
+ if (!nopaperout) {
+ result = STATE_WARNING;
+ }
strcpy (errmsg, _("Out of Paper"));
}
else if (line_status == OFFLINE) {
@@ -318,6 +321,7 @@
/* {"critical", required_argument,0,'c'}, */
/* {"warning", required_argument,0,'w'}, */
/* {"port", required_argument,0,'P'}, */
+ {"nopaperout", no_argument, 0, 'n'},
{"version", no_argument, 0, 'V'},
{"help", no_argument, 0, 'h'},
{0, 0, 0, 0}
@@ -328,7 +332,7 @@
while (1) {
- c = getopt_long (argc, argv, "+hVH:C:", longopts, &option);
+ c = getopt_long (argc, argv, "+hnVH:C:", longopts, &option);
if (c == -1 || c == EOF || c == 1)
break;
@@ -345,6 +349,9 @@
case 'C': /* community */
community = strscpy (community, optarg);
break;
+ case 'n': /* nopaperout */
+ nopaperout = 1;
+ break;
case 'V': /* version */
print_revision (progname, revision);
exit (STATE_OK);
@@ -404,7 +411,9 @@
printf (" %s\n", "-C, --community=STRING");
printf (" %s", _("The SNMP community name "));
+ printf (" %s\n", "-n, --nopaperout");
printf (_("(default=%s)"), DEFAULT_COMMUNITY);
+ printf (" %s\n", "No return WARNING state on \"Out of paper\"");
printf ("\n");
#ifdef NP_EXTRA_OPTS
@@ -421,6 +430,6 @@
void
print_usage (void)
{
- printf (_("Usage:"));
- printf ("%s -H host [-C community]\n", progname);
+ printf (_("Usage:"));
+ printf ("%s -H host [-C community] [-n]\n", progname);
}
-------------- następna część ---------
--- contrib/check_snmp_disk_monitor.pl.orig 2008-04-24 13:28:09.277695884 +0000
+++ contrib/check_snmp_disk_monitor.pl 2008-04-24 13:28:21.135459424 +0000
@@ -111,7 +111,7 @@
);
# retrieve the data from the remote host
-my( $mps, $alloc, $size, $used ) = $snmp_session->bulkwalk( 0, 4, [['hrStorageDescr'],['hrStorageAllocationUnits'],['hrStorageSize'],['hrStorageUsed']] );
+my( $mps, $alloc, $size, $used ) = $snmp_session->bulkwalk( 0, 2, [['hrStorageDescr'],['hrStorageAllocationUnits'],['hrStorageSize'],['hrStorageUsed']] );
check_for_errors();
alarm( 0 ); # all done with the network connection
-------------- następna część ---------
--- contrib/check_snmp_procs.pl.orig 2008-04-23 12:13:17.833685899 +0000
+++ contrib/check_snmp_procs.pl 2008-04-23 12:15:18.456846167 +0000
@@ -59,6 +59,7 @@
my $opt_version;
my $opt_wanted_procs;
my $opt_warning;
+my $opt_password;
#
my $max_no_processes = 999999;
@@ -123,6 +124,8 @@
exit $ERRORS{'UNKNOWN'};
}
+my ($longest_wanted, $longest_current);
+
($longest_wanted, @wanted_procs) = parse_wanted_procs($opt_verbose, $opt_wanted_procs, $opt_warning, $opt_critical);
$SIG{'ALRM'} = sub {
@@ -240,7 +243,7 @@
my($verbose, $host, $username, $privpassword, $authprotocol, $authpassword, $community, $port, $oidname, $snmp_version) = @_;
my(%process_list, %process_pid_list, $result);
- my $process_list_longest = 1, $not_done = 1;
+ my ($process_list_longest, $not_done) = (1, 1);
my(@args, @oids, $oid, $name);
($session, $error) = Net::SNMP->session(
-------------- następna część ---------
--- contrib/check_snmp_disk_monitor.pl 2008-04-23 14:27:47.390299906 +0000
+++ contrib/check_snmp_disk_monitor.pl~ 2008-04-23 13:27:18.000000000 +0000
@@ -7,7 +7,7 @@
use strict;
require 5.6.0;
-use lib qw( /opt/nagios/libexec );
+use lib qw( /usr/lib/nagios/plugins );
use utils qw(%ERRORS $TIMEOUT &print_revision &support &usage);
use SNMP 5.0;
use Getopt::Long;
--- contrib/check_snmp_procs.pl.orig 2008-04-23 12:13:17.833685899 +0000
+++ contrib/check_snmp_procs.pl 2008-04-23 12:15:18.456846167 +0000
@@ -32,10 +32,10 @@
# make it work with snmp version 3
# Suggestions???
#
-#use strict;
+use strict;
use Getopt::Long;
use Net::SNMP qw (oid_lex_sort oid_base_match SNMP_VERSION_1);
-use lib "/usr/local/nagios/libexec";
+use lib "/usr/lib/nagios/plugins";
use utils qw(%ERRORS &print_revision &support &usage);
my $PROGNAME="check_snmp_procs";
-------------- następna część ---------
Index: nagios-plugins.spec
===================================================================
RCS file: /cvsroot/SPECS/nagios-plugins.spec,v
retrieving revision 1.93
diff -u -r1.93 nagios-plugins.spec
--- nagios-plugins.spec 11 Oct 2008 16:04:56 -0000 1.93
+++ nagios-plugins.spec 5 Dec 2008 14:36:53 -0000
@@ -33,6 +33,11 @@
Patch18: %{name}-configure.patch
Patch19: %{name}-perlautodep.patch
Patch20: %{name}-cosmetic.patch
+Patch21: %{name}-check_hpjd-no-paper-out.patch
+Patch22: %{name}-check_snmp_procs-fix.patch
+Patch23: %{name}-check_disk_smb-zero-cap.patch
+Patch24: %{name}-paths.patch
+Patch25: %{name}-check_snmp_disk_monitor-bulk.patch
#Patch: %{name}-shared.patch # needs finishing
URL: http://www.nagiosplugins.org/
BuildRequires: autoconf
@@ -459,6 +464,11 @@
%patch18 -p1
%patch19 -p1
%patch20 -p1
+%patch21 -p0
+%patch22 -p0
+%patch23 -p0
+%patch24 -p0
+%patch25 -p0
# bring contribs into shape...
cd contrib
@@ -474,6 +484,13 @@
sed -i -e '1s,#!.*/bin/bash,#!/bin/sh,' \
check_smb.sh
+
+sed -i -e "
+ s,use lib '.*/nagios/libexec/',use lib '%{_pluginlibdir}',
+ s,require '/usr/libexec/nagios/plugins,require '%{_pluginlibdir},
+ s,use lib utils.pm,use lib '%{_pluginlibdir}', # that's there really a typo
+" *.pl ../plugins-scripts/*.pl
+
mv check_appletalk.{pl,orig}
sed -ne '/---/!p;/---/q' < check_appletalk.orig > check_appletalk.pl
@@ -537,7 +554,8 @@
--with-df-command='/bin/df -P' \
--with-apt-get-command=/usr/bin/apt-get \
--with-qmail-qstat-command=/usr/bin/qmail-qstat \
- --with-mailq-command=/usr/bin/mailq
+ --with-mailq-command=/usr/bin/mailq \
+ --without-included-regex
%{__make}
-------------- następna część ---------
ZaĹÄ
cznik, ktĂłry nie byĹ tekstem zostaĹ usuniÄty...
Name: nie znany
Type: application/pgp-signature
Size: 197 bytes
Desc: nie znany
Url : /mailman/pipermail/pld-devel-pl/attachments/20081205/166009d1/attachment.sig
Więcej informacji o liście dyskusyjnej pld-devel-pl