diff options
author | Subhendu Ghosh <sghosh@users.sourceforge.net> | 2002-08-14 19:06:38 +0000 |
---|---|---|
committer | Subhendu Ghosh <sghosh@users.sourceforge.net> | 2002-08-14 19:06:38 +0000 |
commit | bb59a4ce8769f9b8533674dce341af71a4864dc0 (patch) | |
tree | 749050006bc11dcb4f60bcf322c364133eb12d21 | |
parent | 325e642ae83045f15a3b19e9f8754a46a0d68ac0 (diff) | |
download | monitoring-plugins-bb59a4ce8769f9b8533674dce341af71a4864dc0.tar.gz |
skip PPP interfaces
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@78 f882894a-f735-0410-b71e-b25c423dba1c
-rwxr-xr-x | plugins-scripts/check_ifstatus.pl | 23 |
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"; |