Filtrowanie interfejsu SNMP

Dane SNMP pobrane z urządzeń przez proces wykrywania można filtrować, konfigurując filtry interfejsu SNMP. Filtry interfejsu SNMP można skonfigurować tylko w wierszu komend.

Po co używać filtrowania interfejsu SNMP

Czasami urządzenia lub klasa urządzeń zwraca zbyt wiele danych MIB. Na przykład, jeśli urządzenie wirtualne ma dużą liczbę interfejsów, ich wykrywanie może zająć dużo czasu. W celu przyspieszenia wykrywania takich urządzeń można użyć filtrów interfejsu SNMP, aby zmniejszyć liczbę interfejsów, które są pobierane przez program pomocniczy SNMP.

Jak działa filtrowanie interfejsów SNMP

Gdy agenty wykrywania, skrypty Perl lub przeglądarka MIB SNMP żądają informacji SNMP, program pomocniczy SNMP pobiera informacje z urządzeń sieciowych. Filtry interfejsu SNMP definiują wiersze w tabelach bazy MIB, które są pobierane przez program pomocniczy SNMP. Program pomocniczy SNMP pobiera tylko podzbiór informacji, które zostałyby zwrócone bez zastosowania filtru, i wysyła go do procesu, który zażądał informacji SNMP. Filtry interfejsu SNMP mogą również definiować całe tabele, które mają nie być pobierane przez program pomocniczy SNMP.

Filtry interfejsu SNMP są stosowane tylko do żądań pełnego przeglądania tabeli MIB. Żądania SNMP Get lub GetNext dla konkretnych interfejsów w obrębie tabeli MIB nie są filtrowane.

Urządzenia, do których powinien zostać zastosowany filtr, są zdefiniowane w filtrze urządzeń. Jeśli filtr urządzeń jest zdefiniowany, wszystkie żądania pobrania informacji SNMP z urządzenia najpierw są porównywane z filtrem urządzeń. Tylko urządzenia, które przeszły przez filtr, są następnie sprawdzane przy filtrowaniu interfejsów.

Filtr może filtrować wiele wierszy tabeli. Przy pierwszym uzyskiwaniu dostępu do filtrowanej tabeli przeglądana jest jedna lub kilka kolumn tabeli. Wszystkie kolejne żądania przeglądania SNMP z tej tabeli zwracają tylko interfejsy zgodne z filtrem.

Dołączanie wielu tabel z zależnymi filtrami.

Można również zdefiniować zależne filtry. Jeśli filtr interfejsu SNMP Filtr 1 jest zdefiniowany w Tabeli A, to drugi, zależny filtr Filtr 2 może być zdefiniowany w Tabeli B. Informacje SNMP w tabeli B powiązane z tym samym interfejsem również zostaną pobrane.

Aby zdefiniować filtr zależny oprócz filtru zdefiniowanego w Tabeli A, musi zostać spełnionych jeden lub kilka poniższych warunków:

  • Tabela A i B mają równoważne indeksy.
  • Indeks Tabeli A jest wartością w Tabeli B.

Jeśli tabele A i B mają dokładnie ten sam indeks, nie ma potrzeby definiowania filtru zależnego. Informacje z Tabeli B zostaną automatycznie pobrane zgodnie z filtrem zdefiniowanym w Tabeli A.

Kiedy można użyć filtrowania interfejsu SNMP

Można użyć filtrowania interfejsu SNMP dla dowolnej tabeli MIB SNMP, dla której kluczem jest ifIndex. Na przykład filtrowanie według ifTable lub ifXTable umożliwia filtrowanie wartości, takich jak ifType i ifDescr.

Ograniczenie: Filtrowanie dla dowolnej zmiennej MIB SNMP innej niż interfejsy nie jest obsługiwane. Można jednak zablokować dostęp do dowolnej tabeli za pomocą opcji m_instancefiltertable.

Poniższy przykład przedstawia definicję tabeli ipAddrz pliku NCHOME/precision/mibs/RFC1213.mib :

          -- the IP address table

          -- The IP address table contains this entity's IP addressing
          -- information.

          ipAddrTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF IpAddrEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "The table of addressing information relevant to
                      this entity's IP addresses."
              ::= { ip 20 }

Składnia "SEQUENCE OF" definiuje powyższe jako tabelę. Wyszukując ten łańcuch można sprawdzić, jakie tabele są zdefiniowane w tej bazie MIB. Poniższy przykład przedstawia dane wyjściowe wyszukiwania uruchomionego w systemie UNIX:

% grep 'SEQUENCE OF'  RFC1213.mib
              SYNTAX  SEQUENCE OF IfEntry
              SYNTAX  SEQUENCE OF AtEntry
              SYNTAX  SEQUENCE OF IpAddrEntry
              SYNTAX  SEQUENCE OF IpRouteEntry
              SYNTAX  SEQUENCE OF IpNetToMediaEntry
              SYNTAX  SEQUENCE OF TcpConnEntry
              SYNTAX  SEQUENCE OF UdpEntry
              SYNTAX  SEQUENCE OF EgpNeighEntry