Dit document bevat een inleiding tot SNMP-traps. Het laat zien hoe SNMP-traps worden gebruikt en welke rol ze spelen in het beheer van een datanetwerk.
Via SNMP-traps kan een agent het beheerstation op de hoogte te stellen van belangrijke gebeurtenissen door middel van een ongevraagd SNMP-bericht.
De linkerhelft van dit diagram toont een netwerkbeheersysteem dat informatie opvraagt en een respons ontvangt. De rechterhelft toont een agent die een ongevraagde of asynchrone trap naar het netwerkbeheersysteem (NMS) verzendt.
Er zijn geen specifieke vereisten van toepassing op dit document.
Dit document is niet beperkt tot specifieke software- en hardware-versies.
SNMPv1 (Simple Network Management Protocol) en SNMPv2c, samen met de bijbehorende Management Information Base (MIB), moedigen op traps gebaseerde meldingen aan.
Het idee achter op traps gebaseerde meldingen is dat als een manager verantwoordelijk is voor een groot aantal apparaten, en elk apparaat een groot aantal objecten heeft, het voor de manager onpraktisch is om informatie van elk object op elk apparaat op te vragen. De oplossing is dat elke agent op het beheerde apparaat de manager ongevraagd op de hoogte stelt. Dit gebeurt door een bericht te verzenden dat bekend staat als een trap van de gebeurtenis.
Na het bericht ontvangen is, kan de manager dit inzien en op basis van de gebeurtenis gericht actie nemen. De manager kan bijvoorbeeld rechtstreeks meer informatie opvragen bij de agent, of bij agents van andere gerelateerde apparaten, om een beter beeld te krijgen van de gebeurtenis.
Op traps gebaseerde meldingen kunnen leiden tot een aanzienlijke besparing van agent- en netwerkbronnen door onbelangrijke SNMP-verzoeken onnodig te maken. Echter is het niet mogelijk om SNMP-polling volledig te elimineren. SNMP-verzoeken blijven noodzakelijk voor detectie en topologiewijzigingen. Bovendien kan de agent van een beheerd apparaat geen trap verzenden als het apparaat geheel is uitgevallen.
SNMPv1-traps worden gedefinieerd in RFC 1157, met volgende velden:
Enterprise: Identificeert het type beheerd object dat de trap creëert.
Agent address: Geeft het adres van het beheerde object dat de trap creëert.
Generic trap type: Geeft één van een aantal generieke trap-typen aan.
Specific trap code: Geeft één van een aantal specifieke trap-codes aan.
Time stamp: Geeft de tijd die is verstreken tussen de laatste herinitialisatie van het netwerk en de creatie van de trap.
Variable bindings: Het gegevensveld van de trap die de PDU bevat. Elke variable binding associeert een bepaalde MIB-objectinstantie met zijn huidige waarde.
De standaard generieke traps zijn: coldStart, warmStart, linkDown, linkUp, authenticationFailure, egpNeighborLoss. Voor generieke SNMPv1-traps bevat het veld Enterprise de waarde van sysObjectID van het apparaat dat de trap verzendt. Voor leverancierspecifieke traps wordt het veld Generic trap type ingesteld op enterpriseSpecific (6). De specifieke traps van Cisco zijn op een ongebruikelijke manier geïmplementeerd. In plaats van het trap-veld Enterprise alleen te vullen met sysObjectID en het veld Specific trap code te gebruiken voor de identificatie van alle specifieke traps die door alle Cisco-apparaten worden ondersteund, heeft Cisco trap-identificatie geïmplementeerd op basis van verschillende waarden voor de velden Enterprise en Specific trap code.
U kunt de daadwerkelijke waarden bekijken met de SNMP Object Navigator .
Daarnaast heeft Cisco enkele generieke traps opnieuw gedefinieerd in de MIB CISCO-GENERAL-TRAPS met de toevoeging van meer gebonden variabelen.
Voor deze traps wordt het veld Generic trap type hetzelfde gehouden en niet op enterpriseSpecific (6) ingesteld.
In SNMPv2c worden traps gedefinieerd als NOTIFICATION en zijn anders ingedeeld dan in SNMPv1. Een dergelijke trap heeft de volgende parameters:
sysUpTime: Dit is hetzelfde als Time stamp in een SNMPv1-trap.
snmpTrapOID : Trap-identificatieveld. De waarden van generieke traps worden gedefinieerd in RFC 1907. Voor leverancierspecifieke traps is snmpTrapOID in wezen een aaneenschakeling van de SNMPv1-parameter Enterprise en twee extra sub-identificatoren: '0' en de SNMPv1-parameter Specific trap code.
VarBindList: Dit is een lijst met variable bindings.
Een beheersysteem moet weten wat de object-identificator (OID) definieert om een door een agent toegezonden trap te kunnen begrijpen. Daarvoor moet de MIB voor die trap geladen zijn. Deze biedt de juiste OID-informatie, zodat het netwerkbeheersysteem de toegezonden traps kan begrijpen.
Raadpleeg de Cisco SNMP Object Navigator voor traps die door Cisco-apparaten in specifieke MIB’s worden ondersteund. Deze bevat een lijst met traps die beschikbaar zijn voor een specifieke MIB. Om een van deze traps te kunnen ontvangen moet uw Cisco IOS®-softwarerelease de gegeven MIB ondersteunen. Raadpleeg www.cisco.com/go/mibs om te weten te komen welke MIB’s door uw Cisco-apparaat worden ondersteund.
De MIB moet in uw netwerkbeheersysteem geladen worden. Dit wordt gewoonlijk compileren genoemd. Raadpleeg de gebruikershandleiding voor uw netwerkbeheersysteem (bijvoorbeeld HP OpenView of NetView) over het compileren van MIB’s op uw NMS-platform. Raadpleeg ook SNMP: Veelgestelde vragen over MIB’s en MIB-compilers en MIB’s laden.
Bovendien verzendt een apparaat geen trap naar een netwerkbeheersysteem tenzij het is geconfigureerd om dit te doen. Een apparaat moet weten dat het een trap moet verzenden. De bestemming van een trap wordt meestal gedefinieerd met een IP-adres, maar kan een hostnaam zijn als het apparaat is ingesteld om een DNS-server (Domain Name System) te gebruiken. In nieuwere versies van Cisco IOS-software kunnen de apparaatbeheerders kiezen welke traps ze willen verzenden. Voor informatie over de manier waarop u een Cisco-apparaat voor SNMP kunt configureren en hoe u traps kunt verzenden, raadpleegt u de configuratiehandleidingen van het apparaat en de NMS-implementatiehandleiding voor bellen, Ondersteunde SNMP-traps in Cisco IOS en hoe u deze kunt configureren en SNMP-traps in Cisco CatalystOS ondersteunen en configureren.
Opmerking: De manager ontvangt doorgaans SNMP-meldingen (TRAP’s en INFORM’s) op UDP-poortnummer 162.
Deze sectie bevat een aantal voorbeelden van traps die door Cisco IOS worden verzonden, vastgelegd met debug snmp packet.
Generieke SNMPv1-trap, opnieuw gedefinieerd door Cisco:
Nov 21 07:44:17: %LINK-3-UPDOWN: Interface Loopback1, changed state to up 4d23h: SNMP: Queuing packet to 172.17.246.162 4d23h: SNMP: V1 Trap, ent products.45, addr 172.17.246.9, gentrap 3, spectrap 0 ifEntry.1.23 = 23 ifEntry.2.23 = Loopback1 ifEntry.3.23 = 24 lifEntry.20.23 = up
Deze output toont de door Cisco opnieuw gedefinieerde linkUp-trap uit de MIB CISCO-GENERAL-TRAPS met vier gebonden variabelen. De trap heeft deze velden:
Enterprise = products.45 (hetsysObjectID van het apparaat dat de trap verzendt, in dit voorbeeld c7507-router)
Generic trap type = 3 (linkUp)
Specific trap code = 0
SNMPv1 Cisco-specifieke trap:
4d23h: SNMP: Queuing packet to 172.17.246.162 4d23h: SNMP: V1 Trap, ent ciscoSyslogMIB.2, addr 172.17.246.9, gentrap 6, spectrap 1 clogHistoryEntry.2.954 = LINK clogHistoryEntry.3.954 = 4 clogHistoryEntry.4.954 = UPDOWN clogHistoryEntry.5.954 = Interface Loopback1, changed state to up clogHistoryEntry.6.954 = 43021184
Deze output toont de Cisco-specifieke clogMessageGenerated trap van de CISCO-SYSLOG-MIB met vijf gebonden variabelen. De trap heeft deze velden:
Enterprise = Enterprise-waarde van clogMessageGenerated trap
Generic trap type = 6 (enterpriseSpecific)
Specific trap code = 1 (specifieke trap-code van clogMessageGenerated)
SNMPv2c Cisco-specifieke trap:
4d23h: SNMP: Queuing packet to 172.17.246.162 4d23h: SNMP: V2 Trap, reqid 2, errstat 0, erridx 0 sysUpTime.0 = 43053404 snmpTrapOID.0 = clogHistoryEntry.2.958 = SYS clogHistoryEntry.3.958 = 6 clogHistoryEntry.4.958 = CONFIG_I clogHistoryEntry.5.958 = Configured from console by vty0 (10.10.10.10) clogHistoryEntry.6.958 = 43053403
Deze output toont de Cisco-specifieke ciscoConfigManEvent SNMPv2c-melding van CISCO-CONFIG-MAN-MIB met drie gebonden variabelen:
Deze trap kan worden gebruikt als er wijzigingen zijn aangebracht in de configuratie van het apparaat. De waarden van de laatste twee componenten bepalen of de opdracht show is uitgevoerd of dat de configuratie is veranderd.
6506E#term mon 6506E#debug snmp packet SNMP packet debugging is on 6506E#sh run Building configuration... ... 6506E# 19:24:18: SNMP: Queuing packet to 10.198.28.80 19:24:18: SNMP: V2 Trap, reqid 2, errstat 0, erridx 0 sysUpTime.0 = 6981747 snmpTrapOID.0 = ciscoConfigManMIB.2.0.1 ccmHistoryEventEntry.3.100 = 1 !--- 1 -> commandLine. Executed via CLI. ccmHistoryEventEntry.4.100 = 3 !--- 3 -> running ccmHistoryEventEntry.5.100 = 2 !--- 2 -> commandSource. Show command was executed.
6506E#term mon 6506E#debug snmp packet SNMP packet debugging is on 6506E#conf t Enter configuration commands, one per line. End with CNTL/Z. 6506E(config)#exit 22:57:37: SNMP: Queuing packet to 10.198.28.80 22:57:37: SNMP: V2 Trap, reqid 2, errstat 0, erridx 0 sysUpTime.0 = 8261709 snmpTrapOID.0 = ciscoConfigManMIB.2.0.1 ccmHistoryEventEntry.3.108 = 1 !--- 1 -> commandLine. Executed via CLI. ccmHistoryEventEntry.4.108 = 2 !--- 2 -> commandSource ccmHistoryEventEntry.5.108 = 3 !--- 3 -> running. Change was destined to the running configuration.
Revisie | Publicatiedatum | Opmerkingen |
---|---|---|
1.0 |
07-Nov-2001 |
Eerste vrijgave |