Add 17_protocol_fam to support protocol and IP familiy
This commit is contained in:
parent
462339912a
commit
93834c1fa1
385
debian/patches/17_protocol_fam
vendored
Normal file
385
debian/patches/17_protocol_fam
vendored
Normal file
|
@ -0,0 +1,385 @@
|
|||
## 17_protocol_fam by Alice Kærast
|
||||
##
|
||||
## DP: Add protocol and IPv[46]
|
||||
|
||||
## From 5369da5d2b3e4351e04f016619736f7d03cbcdfd Mon Sep 17 00:00:00 2001
|
||||
## From: Michael Friedrich <michael.friedrich@netways.de>
|
||||
## Date: Fri, 5 Jul 2013 21:32:45 +0200
|
||||
## Subject: [PATCH] add -P|--protocol= setting tcp/udp and IPv4/IPv6 for
|
||||
## load/mem/process/storage
|
||||
## MIME-Version: 1.0
|
||||
## Content-Type: text/plain; charset=UTF-8
|
||||
## Content-Transfer-Encoding: 8bit
|
||||
##
|
||||
## reworked the patches from
|
||||
## https://sourceforge.net/p/nagios-snmp/feature-requests/27/
|
||||
## to make them fit the current patch level, and keep the same output the
|
||||
## most.
|
||||
##
|
||||
## full kudos to Alice Kærast.
|
||||
---
|
||||
check_snmp_load.pl | 26 ++++++++++++++++++++------
|
||||
check_snmp_mem.pl | 24 ++++++++++++++++++------
|
||||
check_snmp_process.pl | 28 ++++++++++++++++++++--------
|
||||
check_snmp_storage.pl | 22 +++++++++++++++++-----
|
||||
4 files changed, 75 insertions(+), 25 deletions(-)
|
||||
|
||||
diff --git a/check_snmp_load.pl b/plugins/check_snmp_load.pl
|
||||
index 71487ec..a1ccc7c 100755
|
||||
--- a/check_snmp_load.pl
|
||||
+++ b/check_snmp_load.pl
|
||||
@@ -95,6 +95,7 @@
|
||||
my $o_host = undef; # hostname
|
||||
my $o_community = undef; # community
|
||||
my $o_port = 161; # port
|
||||
+my $o_domain= 'udp/ipv4'; # protocol
|
||||
my $o_help= undef; # wan't some help ?
|
||||
my $o_verb= undef; # verbose mode
|
||||
my $o_version= undef; # print version
|
||||
@@ -121,7 +122,7 @@
|
||||
sub p_version { print "check_snmp_load version : $Version\n"; }
|
||||
|
||||
sub print_usage {
|
||||
- print "Usage: $0 [-v] -H <host> -C <snmp_community> [-2] | (-l login -x passwd [-X pass -L <authp>,<privp>]) [-p <port>] -w <warn level> -c <crit level> -T=[stand|netsl|netsc|as400|cisco|cata|nsc|fg|bc|nokia|hp|lp|hpux] [-f] [-t <timeout>] [-V]\n";
|
||||
+ print "Usage: $0 [-v] -H <host> -C <snmp_community> [-2] | (-l login -x passwd [-X pass -L <authp>,<privp>]) [-p <port>] [-P <protocol>] -w <warn level> -c <crit level> -T=[stand|netsl|netsc|as400|cisco|cata|nsc|fg|bc|nokia|hp|lp|hpux] [-f] [-t <timeout>] [-V]\n";
|
||||
}
|
||||
|
||||
sub isnnum { # Return true if arg is not a number
|
||||
@@ -153,8 +154,16 @@ sub help {
|
||||
-L, --protocols=<authproto>,<privproto>
|
||||
<authproto> : Authentication protocol (md5|sha : default md5)
|
||||
<privproto> : Priv protocole (des|aes : default des)
|
||||
--P, --port=PORT
|
||||
+-p, --port=PORT
|
||||
SNMP port (Default 161)
|
||||
+-P, --protocol=PROTOCOL
|
||||
+ Network protocol to be used
|
||||
+ ['udp/ipv4'] : UDP over IPv4
|
||||
+ 'udp/ipv6' : UDP over IPv6
|
||||
+ 'tcp/ipv4' : TCP over IPv4
|
||||
+ 'tcp/ipv6' : TCP over IPv6
|
||||
+
|
||||
+ Network protocol (Default udp/ipv4)
|
||||
-w, --warn=INTEGER | INT,INT,INT
|
||||
1 value check : warning level for cpu in percent (on one minute)
|
||||
3 value check : comma separated level for load or cpu for 1min, 5min, 15min
|
||||
@@ -197,6 +206,7 @@ sub check_options {
|
||||
'h' => \$o_help, 'help' => \$o_help,
|
||||
'H:s' => \$o_host, 'hostname:s' => \$o_host,
|
||||
'p:i' => \$o_port, 'port:i' => \$o_port,
|
||||
+ 'P:s' => \$o_domain, 'protocol:s' => \$o_domain,
|
||||
'C:s' => \$o_community, 'community:s' => \$o_community,
|
||||
'l:s' => \$o_login, 'login:s' => \$o_login,
|
||||
'x:s' => \$o_passwd, 'passwd:s' => \$o_passwd,
|
||||
@@ -297,7 +307,8 @@ sub check_options {
|
||||
-username => $o_login,
|
||||
-authpassword => $o_passwd,
|
||||
-authprotocol => $o_authproto,
|
||||
- -timeout => $o_timeout
|
||||
+ -timeout => $o_timeout,
|
||||
+ -domain => $o_domain
|
||||
);
|
||||
} else {
|
||||
verb("SNMPv3 AuthPriv login : $o_login, $o_authproto, $o_privproto");
|
||||
@@ -309,7 +320,8 @@ sub check_options {
|
||||
-authprotocol => $o_authproto,
|
||||
-privpassword => $o_privpass,
|
||||
-privprotocol => $o_privproto,
|
||||
- -timeout => $o_timeout
|
||||
+ -timeout => $o_timeout,
|
||||
+ -domain => $o_domain
|
||||
);
|
||||
}
|
||||
} else {
|
||||
@@ -321,7 +333,8 @@ sub check_options {
|
||||
-version => 2,
|
||||
-community => $o_community,
|
||||
-port => $o_port,
|
||||
- -timeout => $o_timeout
|
||||
+ -timeout => $o_timeout,
|
||||
+ -domain => $o_domain
|
||||
);
|
||||
} else {
|
||||
# SNMPV1 login
|
||||
@@ -330,7 +343,8 @@ sub check_options {
|
||||
-hostname => $o_host,
|
||||
-community => $o_community,
|
||||
-port => $o_port,
|
||||
- -timeout => $o_timeout
|
||||
+ -timeout => $o_timeout,
|
||||
+ -domain => $o_domain
|
||||
);
|
||||
}
|
||||
}
|
||||
diff --git a/check_snmp_mem.pl b/plugins/check_snmp_mem.pl
|
||||
index 631a39b..6f5425e 100644
|
||||
--- a/check_snmp_mem.pl
|
||||
+++ b/check_snmp_mem.pl
|
||||
@@ -63,6 +63,7 @@
|
||||
my $o_host = undef; # hostname
|
||||
my $o_community = undef; # community
|
||||
my $o_port = 161; # port
|
||||
+my $o_domain= 'udp/ipv4'; # Default to UDP over IPv4
|
||||
my $o_help= undef; # wan't some help ?
|
||||
my $o_verb= undef; # verbose mode
|
||||
my $o_version= undef; # print version
|
||||
@@ -93,7 +94,7 @@
|
||||
sub p_version { print "check_snmp_mem version : $Version\n"; }
|
||||
|
||||
sub print_usage {
|
||||
- print "Usage: $0 [-v] -H <host> -C <snmp_community> [-2] | (-l login -x passwd [-X pass -L <authp>,<privp>]) [-p <port>] -w <warn level> -c <crit level> [-I|-N|-E] [-f] [-m -b] [-t <timeout>] [-V]\n";
|
||||
+ print "Usage: $0 [-v] -H <host> -C <snmp_community> [-2] | (-l login -x passwd [-X pass -L <authp>,<privp>]) [-p <port>] [-P <protocol>] -w <warn level> -c <crit level> [-I|-N|-E] [-f] [-m -b] [-t <timeout>] [-V]\n";
|
||||
}
|
||||
|
||||
sub isnnum { # Return true if arg is not a number
|
||||
@@ -129,8 +130,14 @@ sub help {
|
||||
-L, --protocols=<authproto>,<privproto>
|
||||
<authproto> : Authentication protocol (md5|sha : default md5)
|
||||
<privproto> : Priv protocole (des|aes : default des)
|
||||
--P, --port=PORT
|
||||
+-p, --port=PORT
|
||||
SNMP port (Default 161)
|
||||
+-P, --protocol=PROTOCOL
|
||||
+ Network protocol to be used
|
||||
+ ['udp/ipv4'] : UDP over IPv4
|
||||
+ 'udp/ipv6' : UDP over IPv6
|
||||
+ 'tcp/ipv4' : TCP over IPv4
|
||||
+ 'tcp/ipv6' : TCP over IPv6
|
||||
-w, --warn=INTEGER | INT,INT
|
||||
warning level for memory in percent (0 for no checks)
|
||||
Default (-N switch) : comma separated level for Real Memory and Swap
|
||||
@@ -174,6 +181,7 @@ sub check_options {
|
||||
'h' => \$o_help, 'help' => \$o_help,
|
||||
'H:s' => \$o_host, 'hostname:s' => \$o_host,
|
||||
'p:i' => \$o_port, 'port:i' => \$o_port,
|
||||
+ 'P:s' => \$o_domain, 'protocol:s' => \$o_domain,
|
||||
'C:s' => \$o_community, 'community:s' => \$o_community,
|
||||
'l:s' => \$o_login, 'login:s' => \$o_login,
|
||||
'x:s' => \$o_passwd, 'passwd:s' => \$o_passwd,
|
||||
@@ -270,7 +278,8 @@ sub check_options {
|
||||
-authpassword => $o_passwd,
|
||||
-authprotocol => $o_authproto,
|
||||
-port => $o_port,
|
||||
- -timeout => $o_timeout
|
||||
+ -timeout => $o_timeout,
|
||||
+ -domain => $o_domain
|
||||
);
|
||||
} else {
|
||||
verb("SNMPv3 AuthPriv login : $o_login, $o_authproto, $o_privproto");
|
||||
@@ -283,7 +292,8 @@ sub check_options {
|
||||
-privpassword => $o_privpass,
|
||||
-privprotocol => $o_privproto,
|
||||
-port => $o_port,
|
||||
- -timeout => $o_timeout
|
||||
+ -timeout => $o_timeout,
|
||||
+ -domain => $o_domain
|
||||
);
|
||||
}
|
||||
} else {
|
||||
@@ -295,7 +305,8 @@ sub check_options {
|
||||
-version => 2,
|
||||
-community => $o_community,
|
||||
-port => $o_port,
|
||||
- -timeout => $o_timeout
|
||||
+ -timeout => $o_timeout,
|
||||
+ -domain => $o_domain
|
||||
);
|
||||
} else {
|
||||
# SNMPV1 login
|
||||
@@ -304,7 +315,8 @@ sub check_options {
|
||||
-hostname => $o_host,
|
||||
-community => $o_community,
|
||||
-port => $o_port,
|
||||
- -timeout => $o_timeout
|
||||
+ -timeout => $o_timeout,
|
||||
+ -domain => $o_domain
|
||||
);
|
||||
}
|
||||
}
|
||||
diff --git a/check_snmp_process.pl b/plugins/check_snmp_process.pl
|
||||
index 9494c7c..7a83432 100755
|
||||
--- a/check_snmp_process.pl
|
||||
+++ b/check_snmp_process.pl
|
||||
@@ -42,6 +42,7 @@
|
||||
my $o_host = undef; # hostname
|
||||
my $o_community =undef; # community
|
||||
my $o_port = 161; # port
|
||||
+my $o_domain= 'udp/ipv4'; # Default to UDP over IPv4
|
||||
my $o_version2 = undef; #use snmp v2c
|
||||
my $o_descr = undef; # description filter
|
||||
my $o_warn = 0; # warning limit
|
||||
@@ -80,7 +81,7 @@
|
||||
sub p_version { print "check_snmp_process version : $Version\n"; }
|
||||
|
||||
sub print_usage {
|
||||
- print "Usage: $0 [-v] -H <host> -C <snmp_community> [-2] | (-l login -x passwd) [-p <port>] -n <name> [-w <min_proc>[,<max_proc>] -c <min_proc>[,max_proc] ] [-m<warn Mb>,<crit Mb> -a -u<warn %>,<crit%> -d<delta> ] [-t <timeout>] [-o <octet_length>] [-f -A -F ] [-r] [-V] [-g]\n";
|
||||
+ print "Usage: $0 [-v] -H <host> -C <snmp_community> [-2] | (-l login -x passwd) [-p <port>] [-P <IP Protocol>] -n <name> [-w <min_proc>[,<max_proc>] -c <min_proc>[,max_proc] ] [-m<warn Mb>,<crit Mb> -a -u<warn %>,<crit%> -d<delta> ] [-t <timeout>] [-o <octet_length>] [-f -A -F ] [-r] [-V] [-g]\n";
|
||||
}
|
||||
|
||||
sub isnotnum { # Return true if arg is not a number
|
||||
@@ -166,6 +167,12 @@ sub help {
|
||||
<privproto> : Priv protocole (des|aes : default des)
|
||||
-p, --port=PORT
|
||||
SNMP port (Default 161)
|
||||
+-P, --protocol=PROTOCOL
|
||||
+ Network protocol to be used
|
||||
+ ['udp/ipv4'] : UDP over IPv4
|
||||
+ 'udp/ipv6' : UDP over IPv6
|
||||
+ 'tcp/ipv4' : TCP over IPv4
|
||||
+ 'tcp/ipv6' : TCP over IPv6
|
||||
-n, --name=NAME
|
||||
Name of the process (regexp)
|
||||
No trailing slash !
|
||||
@@ -233,6 +240,7 @@ sub check_options {
|
||||
'h' => \$o_help, 'help' => \$o_help,
|
||||
'H:s' => \$o_host, 'hostname:s' => \$o_host,
|
||||
'p:i' => \$o_port, 'port:i' => \$o_port,
|
||||
+ 'P:s' => \$o_domain, 'protocol:s' => \$o_domain,
|
||||
'C:s' => \$o_community, 'community:s' => \$o_community,
|
||||
'l:s' => \$o_login, 'login:s' => \$o_login,
|
||||
'x:s' => \$o_passwd, 'passwd:s' => \$o_passwd,
|
||||
@@ -240,20 +248,20 @@ sub check_options {
|
||||
'L:s' => \$v3protocols, 'protocols:s' => \$v3protocols,
|
||||
'c:s' => \$o_crit, 'critical:s' => \$o_crit,
|
||||
'w:s' => \$o_warn, 'warn:s' => \$o_warn,
|
||||
- 't:i' => \$o_timeout, 'timeout:i' => \$o_timeout,
|
||||
+ 't:i' => \$o_timeout, 'timeout:i' => \$o_timeout,
|
||||
'n:s' => \$o_descr, 'name:s' => \$o_descr,
|
||||
'r' => \$o_noreg, 'noregexp' => \$o_noreg,
|
||||
'f' => \$o_path, 'fullpath' => \$o_path,
|
||||
'm:s' => \$o_mem, 'memory:s' => \$o_mem,
|
||||
'a' => \$o_mem_avg, 'average' => \$o_mem_avg,
|
||||
'u:s' => \$o_cpu, 'cpu' => \$o_cpu,
|
||||
- '2' => \$o_version2, 'v2c' => \$o_version2,
|
||||
- 'o:i' => \$o_octetlength, 'octetlength:i' => \$o_octetlength,
|
||||
- 'g' => \$o_get_all, 'getall' => \$o_get_all,
|
||||
- 'A' => \$o_param, 'param' => \$o_param,
|
||||
- 'F' => \$o_perf, 'perfout' => \$o_perf,
|
||||
+ '2' => \$o_version2, 'v2c' => \$o_version2,
|
||||
+ 'o:i' => \$o_octetlength, 'octetlength:i' => \$o_octetlength,
|
||||
+ 'g' => \$o_get_all, 'getall' => \$o_get_all,
|
||||
+ 'A' => \$o_param, 'param' => \$o_param,
|
||||
+ 'F' => \$o_perf, 'perfout' => \$o_perf,
|
||||
'd:i' => \$o_delta, 'delta:i' => \$o_delta,
|
||||
- 'V' => \$o_version, 'version' => \$o_version
|
||||
+ 'V' => \$o_version, 'version' => \$o_version
|
||||
);
|
||||
if (defined ($o_help)) { help(); exit $ERRORS{"UNKNOWN"}};
|
||||
if (defined($o_version)) { p_version(); exit $ERRORS{"UNKNOWN"}};
|
||||
@@ -343,6 +351,7 @@ sub check_options {
|
||||
-hostname => $o_host,
|
||||
-version => '3',
|
||||
-port => $o_port,
|
||||
+ -domain => $o_domain,
|
||||
-username => $o_login,
|
||||
-authpassword => $o_passwd,
|
||||
-authprotocol => $o_authproto,
|
||||
@@ -355,6 +364,7 @@ sub check_options {
|
||||
-version => '3',
|
||||
-username => $o_login,
|
||||
-port => $o_port,
|
||||
+ -domain => $o_domain,
|
||||
-authpassword => $o_passwd,
|
||||
-authprotocol => $o_authproto,
|
||||
-privpassword => $o_privpass,
|
||||
@@ -370,6 +380,7 @@ sub check_options {
|
||||
-version => 2,
|
||||
-community => $o_community,
|
||||
-port => $o_port,
|
||||
+ -domain => $o_domain,
|
||||
-timeout => $o_timeout
|
||||
);
|
||||
} else {
|
||||
@@ -378,6 +389,7 @@ sub check_options {
|
||||
-hostname => $o_host,
|
||||
-community => $o_community,
|
||||
-port => $o_port,
|
||||
+ -domain => $o_domain,
|
||||
-timeout => $o_timeout
|
||||
);
|
||||
}
|
||||
diff --git a/check_snmp_storage.pl b/plugins/check_snmp_storage.pl
|
||||
index 31a4015..9725dce 100644
|
||||
--- a/check_snmp_storage.pl
|
||||
+++ b/check_snmp_storage.pl
|
||||
@@ -62,6 +62,7 @@
|
||||
my $o_host = undef; # hostname
|
||||
my $o_community = undef; # community
|
||||
my $o_port = 161; # port
|
||||
+my $o_domain= 'udp/ipv4'; # Default to UDP over IPv4
|
||||
my $o_version2 = undef; #use snmp v2c
|
||||
my $o_descr = undef; # description filter
|
||||
my $o_storagetype = undef; # parse storage type also
|
||||
@@ -98,7 +99,7 @@
|
||||
sub p_version { print "$Name version : $Version\n"; }
|
||||
|
||||
sub print_usage {
|
||||
- print "Usage: $Name [-v] -H <host> -C <snmp_community> [-2] | (-l login -x passwd [-X pass -L <authp>,<privp>]) [-p <port>] -m <name in desc_oid> [-q storagetype] -w <warn_level> -c <crit_level> [-t <timeout>] [-T pl|pu|bl|bu ] [-r -s -i -G] [-e] [-S 0|1[,1,<car>]] [-o <octet_length>] [-R <% reserved>]\n";
|
||||
+ print "Usage: $Name [-v] -H <host> -C <snmp_community> [-2] | (-l login -x passwd [-X pass -L <authp>,<privp>]) [-p <port>] [-P <protocol>] -m <name in desc_oid> [-q storagetype] -w <warn_level> -c <crit_level> [-t <timeout>] [-T pl|pu|bl|bu ] [-r -s -i -G] [-e] [-S 0|1[,1,<car>]] [-o <octet_length>] [-R <% reserved>]\n";
|
||||
}
|
||||
|
||||
sub round ($$) {
|
||||
@@ -154,6 +155,12 @@ sub help {
|
||||
Password for snmpv3 authentication
|
||||
-p, --port=PORT
|
||||
SNMP port (Default 161)
|
||||
+-P, --protocol=PROTOCOL
|
||||
+ Network protocol to be used
|
||||
+ ['udp/ipv4'] : UDP over IPv4
|
||||
+ 'udp/ipv6' : UDP over IPv6
|
||||
+ 'tcp/ipv4' : TCP over IPv4
|
||||
+ 'tcp/ipv6' : TCP over IPv6
|
||||
-m, --name=NAME
|
||||
Name in description OID (can be mounpoints '/home' or 'Swap Space'...)
|
||||
This is treated as a regexp : -m /var will match /var , /var/log, /opt/var ...
|
||||
@@ -236,6 +243,7 @@ sub check_options {
|
||||
'h' => \$o_help, 'help' => \$o_help,
|
||||
'H:s' => \$o_host, 'hostname:s' => \$o_host,
|
||||
'p:i' => \$o_port, 'port:i' => \$o_port,
|
||||
+ 'P:s' => \$o_domain, 'protocol:s' => \$o_domain,
|
||||
'C:s' => \$o_community, 'community:s' => \$o_community,
|
||||
'2' => \$o_version2, 'v2c' => \$o_version2,
|
||||
'l:s' => \$o_login, 'login:s' => \$o_login,
|
||||
@@ -352,7 +360,8 @@ sub check_options {
|
||||
-authprotocol => $o_authproto,
|
||||
-port => $o_port,
|
||||
-retries => 10,
|
||||
- -timeout => $o_timeout
|
||||
+ -timeout => $o_timeout,
|
||||
+ -domain => $o_domain
|
||||
);
|
||||
} else {
|
||||
verb("SNMPv3 AuthPriv login : $o_login, $o_authproto, $o_privproto");
|
||||
@@ -366,7 +375,8 @@ sub check_options {
|
||||
-privprotocol => $o_privproto,
|
||||
-port => $o_port,
|
||||
-retries => 10,
|
||||
- -timeout => $o_timeout
|
||||
+ -timeout => $o_timeout,
|
||||
+ -domain => $o_domain
|
||||
);
|
||||
}
|
||||
} else {
|
||||
@@ -379,7 +389,8 @@ sub check_options {
|
||||
-community => $o_community,
|
||||
-port => $o_port,
|
||||
-retries => 10,
|
||||
- -timeout => $o_timeout
|
||||
+ -timeout => $o_timeout,
|
||||
+ -domain => $o_domain
|
||||
);
|
||||
} else {
|
||||
# SNMPV1 login
|
||||
@@ -389,7 +400,8 @@ sub check_options {
|
||||
-community => $o_community,
|
||||
-port => $o_port,
|
||||
-retries => 10,
|
||||
- -timeout => $o_timeout
|
||||
+ -timeout => $o_timeout,
|
||||
+ -domain => $o_domain
|
||||
);
|
||||
}
|
||||
}
|
||||
--
|
||||
1.8.5.5
|
||||
|
1
debian/patches/series
vendored
1
debian/patches/series
vendored
|
@ -2,5 +2,6 @@
|
|||
10_fix_net_snmp_version
|
||||
15_check_snmp_storage_64bit
|
||||
16_perfdata
|
||||
17_protocol_fam
|
||||
50_disable_epn
|
||||
51_fix_privacy_doc
|
||||
|
|
Loading…
Reference in a new issue