aboutsummaryrefslogtreecommitdiff
path: root/plugins-scripts/check_ifstatus.pl
diff options
context:
space:
mode:
Diffstat (limited to 'plugins-scripts/check_ifstatus.pl')
-rwxr-xr-xplugins-scripts/check_ifstatus.pl23
1 files changed, 13 insertions, 10 deletions
diff --git a/plugins-scripts/check_ifstatus.pl b/plugins-scripts/check_ifstatus.pl
index f54008f2..3b8a19c2 100755
--- a/plugins-scripts/check_ifstatus.pl
+++ b/plugins-scripts/check_ifstatus.pl
@@ -61,6 +61,7 @@ my $snmpIfOperStatus = '1.3.6.1.2.1.2.2.1.8';
my $snmpIfName = '1.3.6.1.2.1.31.1.1.1.1';
my $snmpIfAlias = '1.3.6.1.2.1.31.1.1.1.18';
my $snmpLocIfDescr = '1.3.6.1.4.1.9.2.2.1.1.28';
+my $snmpIfType = '1.3.6.1.2.1.2.2.1.3';
my $hostname;
my $session;
my $error;
@@ -156,6 +157,7 @@ if ( ! $snmp_version ) {
push(@snmpoids,$snmpIfOperStatus);
push(@snmpoids,$snmpIfAdminStatus);
push(@snmpoids,$snmpIfDescr);
+push(@snmpoids,$snmpIfType);
push(@snmpoids,$snmpIfName) if ( defined $ifXTable);
@@ -184,17 +186,18 @@ foreach $key (keys %ifStatus) {
# check only if interface is administratively up
if ($ifStatus{$key}{$snmpIfAdminStatus} == 1 ) {
- if ($ifStatus{$key}{$snmpIfOperStatus} == 1 ) { $ifup++ ;}
- if ($ifStatus{$key}{$snmpIfOperStatus} == 2 ) {
- $ifdown++ ;
- $ifmessage .= sprintf("%s: down -> %s<BR>",
+ # check only if interface is not of type 23 aka PPP interface
+ if ($ifStatus{$key}{$snmpIfType} != 23 ) {
+ if ($ifStatus{$key}{$snmpIfOperStatus} == 1 ) { $ifup++ ;}
+ if ($ifStatus{$key}{$snmpIfOperStatus} == 2 ) {
+ $ifdown++ ;
+ $ifmessage .= sprintf("%s: down -> %s<BR>",
$ifStatus{$key}{$snmpIfDescr},
$ifStatus{$key}{$snmpIfName});
-
- }
- if ($ifStatus{$key}{$snmpIfOperStatus} == 5 ) { $ifdormant++ ;}
- }
- }
+ }
+ if ($ifStatus{$key}{$snmpIfOperStatus} == 5 ) { $ifdormant++ ;}
+ }
+ }
if ($ifdown > 0) {
@@ -232,7 +235,7 @@ sub usage {
sub print_help {
printf "check_ifstatus plugin for Nagios monitors operational \n";
- printf "status of each network interface on the target host\n";
+ printf "status of each network interface (except PPP interfaces) on the target host\n";
printf "\nUsage:\n";
printf " -H (--hostname) Hostname to query - (required)\n";
printf " -C (--community) SNMP read community (defaults to public,\n";