mirror of
https://github.com/centreon/centreon-plugins.git
synced 2025-07-22 13:14:51 +02:00
parent
588a4d78fb
commit
6fb3711469
@ -35,7 +35,6 @@ HR_STORAGE_SIZE=.1.3.6.1.2.1.25.2.3.1.5
|
|||||||
HR_STORAGE_USED=.1.3.6.1.2.1.25.2.3.1.6
|
HR_STORAGE_USED=.1.3.6.1.2.1.25.2.3.1.6
|
||||||
OBJECTID=.1.3.6.1.2.1.1.1.0
|
OBJECTID=.1.3.6.1.2.1.1.1.0
|
||||||
UPTIME_WINDOWS=.1.3.6.1.2.1.1.3.0
|
UPTIME_WINDOWS=.1.3.6.1.2.1.1.3.0
|
||||||
#UPTIME_OTHER=.1.3.6.1.2.1.25.1.1.0
|
|
||||||
UPTIME_OTHER=.1.3.6.1.2.1.1.3.0
|
UPTIME_OTHER=.1.3.6.1.2.1.1.3.0
|
||||||
IF_IN_OCTET=.1.3.6.1.2.1.2.2.1.10
|
IF_IN_OCTET=.1.3.6.1.2.1.2.2.1.10
|
||||||
IF_OUT_OCTET=.1.3.6.1.2.1.2.2.1.16
|
IF_OUT_OCTET=.1.3.6.1.2.1.2.2.1.16
|
||||||
@ -48,5 +47,5 @@ IF_IN_ERROR=.1.3.6.1.2.1.2.2.1.14
|
|||||||
IF_OUT_ERROR=.1.3.6.1.2.1.2.2.1.20
|
IF_OUT_ERROR=.1.3.6.1.2.1.2.2.1.20
|
||||||
IF_ADMINSTATUS=.1.3.6.1.2.1.2.2.1.7
|
IF_ADMINSTATUS=.1.3.6.1.2.1.2.2.1.7
|
||||||
IF_OPERSTATUS=.1.3.6.1.2.1.2.2.1.8
|
IF_OPERSTATUS=.1.3.6.1.2.1.2.2.1.8
|
||||||
|
IF_ALIAS=.1.3.6.1.2.1.31.1.1.1.18
|
||||||
|
IF_NAME=.1.3.6.1.2.1.31.1.1.1.1
|
||||||
|
@ -44,7 +44,7 @@ require "@NAGIOS_PLUGINS@/Centreon/SNMP/Utils.pm";
|
|||||||
|
|
||||||
use vars qw($PROGNAME);
|
use vars qw($PROGNAME);
|
||||||
use Getopt::Long;
|
use Getopt::Long;
|
||||||
use vars qw($opt_V $opt_h $opt_i $opt_n $opt_w $opt_c $opt_s $opt_T $opt_a $opt_r $opt_S);
|
use vars qw($opt_V $opt_h $opt_i $opt_n $opt_w $opt_c $opt_s $opt_T $opt_a $opt_r $opt_S $opt_o);
|
||||||
|
|
||||||
my $centplugins_path = "@CENTPLUGINS_TMP@";
|
my $centplugins_path = "@CENTPLUGINS_TMP@";
|
||||||
my %ERRORS = ('OK' => 0, 'WARNING' => 1, 'CRITICAL' => 2, 'UNKNOWN' => 3);
|
my %ERRORS = ('OK' => 0, 'WARNING' => 1, 'CRITICAL' => 2, 'UNKNOWN' => 3);
|
||||||
@ -71,6 +71,12 @@ my %OPTION = (
|
|||||||
"disable-warn-state" => undef
|
"disable-warn-state" => undef
|
||||||
);
|
);
|
||||||
|
|
||||||
|
my %supported_oids = (
|
||||||
|
ifDescr => "IF_DESC",
|
||||||
|
ifAlias => "IF_ALIAS",
|
||||||
|
ifName => "IF_NAME"
|
||||||
|
);
|
||||||
|
|
||||||
# Catch UNKNOWN From GetOptions (like -i without value)
|
# Catch UNKNOWN From GetOptions (like -i without value)
|
||||||
$SIG{'__WARN__'} = sub { print $_[0]; exit($ERRORS{'UNKNOWN'}); };
|
$SIG{'__WARN__'} = sub { print $_[0]; exit($ERRORS{'UNKNOWN'}); };
|
||||||
|
|
||||||
@ -101,8 +107,10 @@ GetOptions
|
|||||||
"w=s" => \$opt_w, "warning=s" => \$opt_w,
|
"w=s" => \$opt_w, "warning=s" => \$opt_w,
|
||||||
"c=s" => \$opt_c, "critical=s" => \$opt_c,
|
"c=s" => \$opt_c, "critical=s" => \$opt_c,
|
||||||
"T=s" => \$opt_T, "r" => \$opt_r,
|
"T=s" => \$opt_T, "r" => \$opt_r,
|
||||||
"S" => \$opt_S,
|
"S" => \$opt_S,
|
||||||
"a=i" => \$opt_a, "cache=s" => \$opt_a);
|
"a=i" => \$opt_a, "cache=s" => \$opt_a,
|
||||||
|
"o=s" => \$opt_o, "oid=s" => \$opt_o
|
||||||
|
);
|
||||||
|
|
||||||
if ($opt_V) {
|
if ($opt_V) {
|
||||||
print_revision($PROGNAME,'$Revision: 1.3 $');
|
print_revision($PROGNAME,'$Revision: 1.3 $');
|
||||||
@ -140,6 +148,15 @@ if (!defined($opt_a)) {
|
|||||||
$opt_a = 3;
|
$opt_a = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (defined $opt_o) {
|
||||||
|
if (!exists $supported_oids{$opt_o}) {
|
||||||
|
print "Unsupported oid\n";
|
||||||
|
exit $ERRORS{UNKNOWN};
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$opt_o = 'ifDescr';
|
||||||
|
}
|
||||||
|
|
||||||
my $critical = 95;
|
my $critical = 95;
|
||||||
if ($opt_c && $opt_c =~ /[0-9]+/) {
|
if ($opt_c && $opt_c =~ /[0-9]+/) {
|
||||||
$critical = $opt_c;
|
$critical = $opt_c;
|
||||||
@ -169,7 +186,7 @@ if ($critical <= $warning){
|
|||||||
|
|
||||||
$session = Centreon::SNMP::Utils::connection($ERRORS{'UNKNOWN'}, $session_params);
|
$session = Centreon::SNMP::Utils::connection($ERRORS{'UNKNOWN'}, $session_params);
|
||||||
|
|
||||||
my $OID_DESC = $centreon{MIB2}{IF_DESC};
|
my $OID_DESC = $centreon{MIB2}{$supported_oids{$opt_o}};
|
||||||
my $OID_OPERSTATUS = $centreon{MIB2}{IF_OPERSTATUS};
|
my $OID_OPERSTATUS = $centreon{MIB2}{IF_OPERSTATUS};
|
||||||
my @operstatus = ("up","down","testing", "unknown", "dormant", "notPresent", "lowerLayerDown");
|
my @operstatus = ("up","down","testing", "unknown", "dormant", "notPresent", "lowerLayerDown");
|
||||||
|
|
||||||
@ -559,6 +576,7 @@ sub print_usage () {
|
|||||||
print " --snmp-timeout SNMP Timeout\n";
|
print " --snmp-timeout SNMP Timeout\n";
|
||||||
print " -s (--show) Describes all interfaces number (debug mode)\n";
|
print " -s (--show) Describes all interfaces number (debug mode)\n";
|
||||||
print " -i (--interface) Set the interface number (2 by default)\n";
|
print " -i (--interface) Set the interface number (2 by default)\n";
|
||||||
|
print " -o (--oid) Specify the OID used to retrieve the interface (ifDescr/ifAlias/ifName)\n";
|
||||||
print " -n (--name) Allows to use interface name with option -i instead of interface oid index\n";
|
print " -n (--name) Allows to use interface name with option -i instead of interface oid index\n";
|
||||||
print " (ex: -i \"eth0\" -n, -i \"VMware Virtual Ethernet Adapter for VMnet8\" -n\n";
|
print " (ex: -i \"eth0\" -n, -i \"VMware Virtual Ethernet Adapter for VMnet8\" -n\n";
|
||||||
print " (choose an unique expression for each interface)\n";
|
print " (choose an unique expression for each interface)\n";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user