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.
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