Perl Net :: SNMP :: Интерфейсы | Interace ошибки - PullRequest
1 голос
/ 23 июня 2011

У меня есть следующий скрипт, который я использую, чтобы увидеть, есть ли у интерфейса ошибки по отношению к коммутаторам Cisco.Единственная проблема, с которой я сталкиваюсь, это когда я очищаю счетчики на интерфейсе, Net :: SNMP по-прежнему показывает их:

Perl Script (switch.pl):

#!/usr/bin/perl
use warnings;
use strict;
use DBI;
use Net::SNMP;
use Net::SNMP::Interfaces;
use Net::SNMP::Interfaces::Details;

my @hosts;
push (@hosts, switch1);

foreach my $item (@hosts) {
        checkinterfaces($item);
}

sub checkinterfaces {
    my $host = shift;
    my $interfaces = Net::SNMP::Interfaces->new(Hostname => $host, Community => 'public');
    my @inter = $interfaces->all_interfaces();

    for my $i (@inter) {
        my $if = $i->name;
        my $inerr = $i->ifInErrors;
        my $outerr = $i->ifOutErrors;
                if ($inerr > 0 || $outerr > 0 ){
                        print "$if is experiencing errors - Input Errors:$inerr/Output Errors:$outerr\n";
                }
}

Первый проход:

$ perl switch.pl 
FastEthernet0/1 is experiencing errors - Input Errors:2201991/Output Errors:0

Сброс счетчиков на порту:

switch1#sh int fa0/1                                                                                                                                                                                                            
FastEthernet0/1 is up, line protocol is up (connected)
....
     15470020 packets input, 2415584329 bytes, 0 no buffer
     Received 29399 broadcasts (0 multicast)
     0 runts, 1656 giants, 0 throttles
     2199177 input errors, 2197521 CRC, 0 frame, 0 overrun, 0 ignored
     0 watchdog, 22890 multicast, 0 pause input
     0 input packets with dribble condition detected
     53541600 packets output, 266583342 bytes, 0 underruns
     0 output errors, 0 collisions, 2 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier, 0 PAUSE output
     0 output buffer failures, 0 output buffers swapped out
switch1#clear counters fa0/1
Clear "show interface" counters on this interface [confirm]y
switch1#sh int fa0/1 
FastEthernet0/1 is up, line protocol is up (connected)
....
     1229 packets input, 1905693 bytes, 0 no buffer
     Received 0 broadcasts (0 multicast)
     0 runts, 0 giants, 0 throttles
     297 input errors, 297 CRC, 0 frame, 0 overrun, 0 ignored
     0 watchdog, 0 multicast, 0 pause input
     0 input packets with dribble condition detected
     1334 packets output, 141440 bytes, 0 underruns
     0 output errors, 0 collisions, 0 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier, 0 PAUSE output
     0 output buffer failures, 0 output buffers swapped out
switch1#

Второй проход:

$ perl switch.pl 
FastEthernet0/20 is experiencing errors - Input Errors:2211150/Output Errors:0

Интерфейс все еще испытывает ошибки, однако он не получаетправильное значение.

1 Ответ

0 голосов
/ 05 июля 2011

Из того, что я помню, вы должны обнулить счетчик с помощью snmp.

...