5 Discovery van SNMP OIDs (legacy)
Overzicht
In deze sectie zullen we een SNMP-ontdekking uitvoeren op een switch.
Item sleutel
In tegenstelling tot bestandssysteem- en netwerkinterface-ontdekking hoeft het item niet per se een "snmp.ontdekking" sleutel te hebben - het itemtype van SNMP-agent is voldoende.
Om de ontdekkingsregel te configureren, volg deze stappen:
- Ga naar: Gegevensverzameling → Sjablonen
- Klik op Ontdekking in de rij van het geschikte sjabloon

- Klik in de rechterbovenhoek van het scherm op Ontdekkingsregel maken
- Vul het formulier voor de ontdekkingsregel in met de vereiste gegevens zoals op de onderstaande schermafbeelding

Alle verplichte invoervelden zijn gemarkeerd met een rode asterisk.
De te ontdekken OIDs zijn gedefinieerd in het SNMP OID-veld in het volgende formaat: ontdekking[{#MACRO1}, oid1, {#MACRO2}, oid2, …,]
waarbij {#MACRO1}, {#MACRO2} ... geldige lld-macro namen zijn en oid1, oid2... OIDs zijn die zinvolle waarden kunnen genereren voor deze macro's. Een ingebouwde macro {#SNMPINDEX} met de index van de ontdekte OID wordt toegepast op ontdekte entiteiten. De ontdekte entiteiten worden gegroepeerd op basis van de macrowaarde {#SNMPINDEX}.
Om te begrijpen wat we bedoelen, voeren we een paar snmpwalks uit op onze switch:
$ 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
En stel SNMP OID in op:
ontdekking[{#IFDESCR}, ifDescr, {#IFPHYSADDRESS}, ifPhysAddress]
Nu zal deze regel entiteiten ontdekken met {#IFDESCR} macro's ingesteld op WAN, LAN1 en LAN2, {#IFPHYSADDRESS} macro's ingesteld op 8:0:27:90:7a:75, 8:0:27:90:7a:76 en 8:0:27:2b:af:9e, {#SNMPINDEX} macro's ingesteld op de ontdekte OID-indexen 1, 2 en 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"
}
]
Als een entiteit de gespecificeerde OID niet heeft, wordt de overeenkomstige macro weggelaten voor deze entiteit. Bijvoorbeeld, als we de volgende gegevens hebben:
ifDescr.1 "Interface #1"
ifDescr.2 "Interface #2"
ifDescr.4 "Interface #4"
ifAlias.1 "eth0"
ifAlias.2 "eth1"
ifAlias.3 "eth2"
ifAlias.5 "eth4"
Dan zal in dit geval SNMP-ontdekking
ontdekking[{#IFDESCR}, ifDescr, {#IFALIAS}, ifAlias] de volgende structuur retourneren:
[
{
"{#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"
}
]
Item-prototypes
De onderstaande schermafbeelding illustreert hoe we deze macro's kunnen gebruiken in item-prototypes:

Je kunt zoveel item-prototypes maken als nodig is:

Trigger-prototypes
De volgende schermafbeelding illustreert hoe we deze macro's kunnen gebruiken in trigger-prototypes:


Grafiek-prototypes
De volgende schermafbeelding illustreert hoe we deze macro's kunnen gebruiken in grafiek-prototypes:


Een samenvatting van onze ontdekkingsregel:

Ontdekte entiteiten
Wanneer de server draait, zal deze echte items, triggers en grafieken aanmaken op basis van de waarden die de SNMP-ontdekkingsregel retourneert. In de hostconfiguratie worden ze voorafgegaan door een oranje link naar de ontdekkingsregel waar ze vandaan komen.


