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 collectionTemplates
  • 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ą.