5 Odkrywanie OID-ów SNMP (starsza wersja)
Przegląd
W tej sekcji przeprowadzimy wykrywanie SNMP na przełączniku.
Klucz pozycji
W przeciwieństwie do wykrywania systemów plików i interfejsów sieciowych, pozycja niekoniecznie musi mieć klucz "snmp.discovery" — wystarczy typ pozycji SNMP agent.
Aby skonfigurować regułę wykrywania, wykonaj następujące kroki:
- Przejdź do: Data collection → Templates
- Kliknij Discovery w wierszu odpowiedniego szablonu

- Kliknij Create discovery rule w prawym górnym rogu ekranu
- Wypełnij formularz reguły wykrywania wymaganymi danymi, jak pokazano na zrzucie ekranu poniżej

Wszystkie obowiązkowe pola wejściowe są oznaczone czerwoną gwiazdką.
OID-y do wykrycia są definiowane w polu SNMP OID w następującym formacie: discovery[{#MACRO1}, oid1, {#MACRO2}, oid2, …,]
gdzie {#MACRO1}, {#MACRO2} … są prawidłowymi nazwami makr lld, a oid1, oid2... są OID-ami zdolnymi do generowania znaczących wartości dla tych makr. Wbudowane makro {#SNMPINDEX}, zawierające indeks wykrytego OID, jest stosowane do wykrytych encji. Wykryte encje są grupowane według wartości makra {#SNMPINDEX}.
Oto przykład, w którym na przełączniku wykonywanych jest kilka poleceń snmpwalk:
$ snmpwalk -v 2c -c public 192.168.1.1 IF-MIB::ifDescr
IF-MIB::ifDescr.1 = STRING: WAN
IF-MIB::ifDescr.2 = STRING: LAN1
IF-MIB::ifDescr.3 = STRING: LAN2
$ snmpwalk -v 2c -c public 192.168.1.1 IF-MIB::ifPhysAddress
IF-MIB::ifPhysAddress.1 = STRING: 8:0:27:90:7a:75
IF-MIB::ifPhysAddress.2 = STRING: 8:0:27:90:7a:76
IF-MIB::ifPhysAddress.3 = STRING: 8:0:27:2b:af:9e
A SNMP OID jest ustawiony na:
discovery[{#IFDESCR}, ifDescr, {#IFPHYSADDRESS}, ifPhysAddress]
Teraz ta reguła wykryje encje z makrami {#IFDESCR} ustawionymi na WAN, LAN1 i LAN2, makrami {#IFPHYSADDRESS} ustawionymi na 8:0:27:90:7a:75, 8:0:27:90:7a:76 oraz 8:0:27:2b:af:9e, a makrami {#SNMPINDEX} ustawionymi na indeksy wykrytych OID-ów 1, 2 i 3:
[
{
"{#SNMPINDEX}": "1",
"{#IFDESCR}": "WAN",
"{#IFPHYSADDRESS}": "8:0:27:90:7a:75"
},
{
"{#SNMPINDEX}": "2",
"{#IFDESCR}": "LAN1",
"{#IFPHYSADDRESS}": "8:0:27:90:7a:76"
},
{
"{#SNMPINDEX}": "3",
"{#IFDESCR}": "LAN2",
"{#IFPHYSADDRESS}": "8:0:27:2b:af:9e"
}
]
Jeśli encja nie ma określonego OID, odpowiednie makro zostanie pominięte dla tej encji. Na przykład, jeśli mamy następujące dane:
ifDescr.1 "Interface #1"
ifDescr.2 "Interface #2"
ifDescr.4 "Interface #4"
ifAlias.1 "eth0"
ifAlias.2 "eth1"
ifAlias.3 "eth2"
ifAlias.5 "eth4"
W takim przypadku wykrywanie SNMP
discovery[{#IFDESCR}, ifDescr, {#IFALIAS}, ifAlias] zwróci następującą strukturę:
[
{
"{#SNMPINDEX}": 1,
"{#IFDESCR}": "Interface #1",
"{#IFALIAS}": "eth0"
},
{
"{#SNMPINDEX}": 2,
"{#IFDESCR}": "Interface #2",
"{#IFALIAS}": "eth1"
},
{
"{#SNMPINDEX}": 3,
"{#IFALIAS}": "eth2"
},
{
"{#SNMPINDEX}": 4,
"{#IFDESCR}": "Interface #4"
},
{
"{#SNMPINDEX}": 5,
"{#IFALIAS}": "eth4"
}
]
Prototypy pozycji
Poniższy zrzut ekranu pokazuje, jak można używać tych makr w prototypach pozycji:

Możesz utworzyć tyle prototypów pozycji, ile potrzeba:

Prototypy wyzwalaczy
Poniższy zrzut ekranu ilustruje, jak możemy używać tych makr w prototypach wyzwalaczy:


Prototypy wykresów
Poniższy zrzut ekranu pokazuje, jak możemy używać tych makr w prototypach wykresów:


Podsumowanie naszej reguły wykrywania:

Wykryte encje
Gdy serwer jest uruchomiony, utworzy rzeczywiste pozycje, wyzwalacze i wykresy na podstawie wartości zwracanych przez regułę wykrywania SNMP. W konfiguracji hosta są one poprzedzone pomarańczowym odnośnikiem do reguły wykrywania, z której pochodzą.


