In dit document worden algemene richtlijnen beschreven voor het gebruik van foutopsporingsopdrachten, waaronder de opdracht IP-pakket voor foutopsporing die beschikbaar is op Cisco IOS®-platforms.
Cisco raadt kennis van de volgende onderwerpen aan:
Verbinding maken met de router via de console-, aux- en vty-poorten.
Algemene problemen met Cisco IOS-configuratie.
Het interpreteren van Cisco IOS debug outputs.
Dit document is niet beperkt tot specifieke software- en hardware-versies.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Dit document bevat algemene richtlijnen voor het gebruik van foutopsporingsopdrachten op Cisco IOS®-platforms. Het bevat ook voorbeelden en een overzicht van voorwaardelijke debugging.
De debug privileged EXEC-opdrachten bieden diagnostische informatie over netwerkgebeurtenissen, protocolstatus, pakketverwerking en algemene netwerkactiviteit. Deze opdrachten helpen bij het identificeren van de oorzaak van specifieke problemen tijdens het oplossen van problemen.
Foutopsporingsopdrachten kunnen echter een grote hoeveelheid uitvoerinformatie genereren en kunnen de prestaties van het apparaat beïnvloeden, vooral op routers die al veel verkeer of een hoog CPU-gebruik verwerken. Voer daarom foutopsporingsopdrachten zorgvuldig uit en alleen wanneer dit nodig is voor probleemoplossing.
Opmerking: In dit document wordt niet uitgelegd hoe specifieke foutopsporingsopdrachten en de uitvoer ervan moeten worden gebruikt of geïnterpreteerd. Raadpleeg voor meer informatie over afzonderlijke foutopsporingsopdrachten de betreffende documentatie van de Cisco Debug Command Reference.
Voer foutopsporingsopdrachten voorzichtig uit. Gebruik deze opdrachten over het algemeen alleen onder leiding van uw vertegenwoordiger voor technische ondersteuning bij het oplossen van specifieke problemen.
Het inschakelen van foutopsporing kan de werking van de router verstoren, vooral wanneer het netwerk zwaar belast is. Als logboekregistratie is ingeschakeld, kan de toegangserver tijdelijk worden geblokkeerd wanneer de consolepoort overbelast raakt met logboekberichten.
Voordat u een foutopsporingsopdracht uitvoert, moet u rekening houden met de hoeveelheid uitvoer die de opdracht kan genereren en hoe lang de foutopsporingssessie kan worden uitgevoerd.
Op een router met één Basic Rate Interface is het bijvoorbeeld onwaarschijnlijk dat debug isdn q931 het systeem beïnvloedt. Het uitvoeren van dezelfde foutopsporingsopdracht op een AS5800 met een volledige E1-configuratie kan echter voldoende uitvoer genereren om het apparaat te laten hangen of stoppen met reageren.
Controleer voordat u een foutopsporing uitvoert de CPU-belasting door de opdracht CPU-processen tonen uit te voeren. Controleer of er voldoende CPU-capaciteit beschikbaar is voordat u foutopsporing inschakelt, dit is de manier.
Als een Cisco 7200-router met een ATM-interface bijvoorbeeld bridging uitvoert, kan het opnieuw opstarten van de router aanzienlijke CPU-bronnen vergen, afhankelijk van het aantal geconfigureerde subinterfaces. Voor elk virtueel circuit (VC) moet een Bridge Protocol Data Unit (BPDU)-pakket worden gegenereerd. Het inschakelen van foutopsporing tijdens deze kritieke periode kan leiden tot een dramatische toename van het CPU-gebruik, wat kan leiden tot het ophangen van een apparaat of het verlies van netwerkconnectiviteit.
Opmerking: Wanneer foutopsporingsfouten worden uitgevoerd, ziet u meestal niet de routerprompt, vooral wanneer het foutopsporingsprobleem intensief is. In de meeste gevallen kunt u echter alle opdrachten no debug of undebug uitvoeren om debugs te stoppen.
Naast de hierboven genoemde punten, zorg ervoor dat u de impact van debugs op de stabiliteit van het platform begrijpt. U moet ook overwegen welke interface op de router u moet verbinden voordat u een foutopsporingsopdracht inschakelt.
Routers kunnen debug-uitgangen weergeven naar verschillende interfaces, waaronder de console-, aux- en vty-poorten. Routers kunnen ook berichten loggen op een interne buffer naar een externe UNIX syslog-server.
Als u onder normale configuraties op de console bent aangesloten, hoeft er geen extra werk te worden gedaan. De foutopsporingsuitvoer moet automatisch worden weergegeven. Zorg er echter voor dat het niveau van de logboekconsole is ingesteld zoals gewenst en dat de logboekregistratie niet is uitgeschakeld met de opdracht Geen logboekconsole.
Waarschuwing: Overmatige fouten in de consolepoort van een router kunnen ervoor zorgen dat deze ophangt. Dit komt omdat de router automatisch voorrang geeft aan de console-uitvoer boven andere routerfuncties. Als de router een grote debug-uitvoer naar de consolepoort verwerkt, kan deze hangen. Als de foutopsporingsuitvoer te groot is, gebruikt u de vty (telnet) -poorten of de logbuffers om uw foutopsporingsfouten te verkrijgen.
Opmerking: Logboekregistratie is standaard ingeschakeld op de consolepoort. De consolepoort verwerkt altijd debug-uitvoer, zelfs als u een andere poort of methode gebruikt (zoals aux, vty of buffer) om de uitvoer vast te leggen. Cisco raadt aan om onder normale bedrijfsomstandigheden de opdracht No Logging Console uit te voeren en deze te allen tijde in te schakelen en andere methoden te gebruiken om fouten vast te leggen. In situaties waarin u de console moet gebruiken, schakelt u de logboekconsole tijdelijk weer in.
Als u via een hulppoort bent verbonden, voert u de opdracht voor terminalbewaking uit. Controleer ook of de opdracht Logging on niet is geactiveerd op de router.
Opmerking: Als u de aux-poort gebruikt om de router te bewaken, moet u er rekening mee houden dat wanneer de router opnieuw wordt opgestart, de aux-poort de opstartsequentie-uitvoer niet weergeeft. Maak verbinding met de consolepoort om de opstartvolgorde te bekijken.
Als u bent verbonden via een hulppoort of via telnet, typt u de opdracht terminalmonitor. Controleer ook of de opdracht Geen aanmelding bij niet wordt gebruikt.
Het standaard logapparaat is de console; alle berichten worden weergegeven op de console, tenzij anders aangegeven.
Als u berichten wilt loggen op een interne buffer, voert u de opdracht Buffered Router Configuration (Routerconfiguratie met logboekbuffer) uit. Dit is de volledige syntaxis van dit commando:
logging buffered no logging buffered
Met de gebufferde opdracht worden logboekberichten naar een interne buffer gekopieerd in plaats van naar de console te schrijven. De buffer is cirkelvormig van aard, dus nieuwere berichten overschrijven oudere berichten.
Als u berichten wilt weergeven die zijn aangemeld in de buffer, gebruikt u de opdracht privileged EXEC om logboekregistratie weer te geven. Het eerste bericht dat wordt weergegeven is het oudste bericht in de buffer. U kunt de grootte van de buffer en het prioriteitsniveau van de te registreren berichten opgeven.
Opmerking: Zorg ervoor dat er voldoende geheugen beschikbaar is in de doos voordat u de buffergrootte invoert. Gebruik de opdracht show proc mem om het beschikbare geheugen te bekijken.
Met de opdracht Geen logboekregistratie gebufferd wordt het gebruik van de buffer geannuleerd en worden berichten naar de console geschreven (standaard).
Als u berichten wilt loggen op de host van de syslog-server, voert u de opdracht Routerconfiguratie registreren uit. Bekijk de volledige syntaxis van deze opdracht:
loggingno logging
De opdracht Logboekregistratie identificeert een host van de syslog-server om logboekberichten te ontvangen. Het <ip-adres> argument is het IP-adres van de host. Door deze opdracht meer dan eens uit te geven, maakt u een lijst met syslog-servers die logboekberichten ontvangen.
Met de opdracht geen logboekregistratie wordt de syslog-server met het opgegeven adres verwijderd uit de lijst met syslogs.
Stel uw terminal emulator software zodat het vangt de debug uitvoer naar een bestand. Raadpleeg de documentatie van de emulator van de softwareterminal.
Msec-tijdstempels (milliseconden) inschakelen met de opdracht Service-tijdstempels:
router(config)#service timestamps debug datetime msec router(config)#service timestamps log datetime msec
Deze opdrachten voegen tijdstempels toe aan foutopsporingsfouten in het formaat MMM DD HH:MM:SS, waarbij de datum en tijd volgens de systeemklok worden aangegeven. Als de systeemklok niet is ingesteld, worden de datum en tijd voorafgegaan door een sterretje (*) om de datum en tijd aan te geven.
Het is over het algemeen raadzaam om milliseconde tijdstempels te configureren, omdat dit een hoge mate van duidelijkheid biedt bij het beoordelen van debug-uitgangen. Milliseconde tijdstempels geven een betere indicatie van de timing van verschillende debug-gebeurtenissen ten opzichte van elkaar. Wanneer de consolepoort echter veel berichten weergeeft, kunnen deze niet correleren met de werkelijke timing van het evenement.
Als u debug x25 bijvoorbeeld allemaal inschakelt op een vak met 200 VC's en de uitvoer is aangemeld bij de buffer (de logboekconsole en gebufferde opdrachten uitvoeren), kan de tijdstempel die wordt weergegeven in de debug-uitvoer (binnen de buffer) niet de exacte tijd zijn wanneer het pakket door de interface gaat. Gebruik daarom geen msec-tijdstempels om prestatieproblemen aan te tonen, maar om relatieve informatie te verkrijgen over wanneer gebeurtenissen zich voordoen.
Als u een foutopsporing wilt stoppen, gebruikt u de opdracht geen foutopsporing of alle opdrachten ongedaan maken. Controleer of de foutopsporing is uitgeschakeld met behulp van de opdracht show debug.
Onthoud dat de opdrachten geen logboekconsole en geen terminal monitor alleen voorkomen dat de uitvoer wordt uitgevoerd op respectievelijk de console, aux of vty. Het stopt het debuggen niet en gebruikt routerbronnen.
Op klassieke Cisco IOS®-routers ziet het debug ip-pakket voornamelijk procesgeschakeld verkeer. Verkeer dat wordt doorgestuurd via Fast Switching of CEF wordt niet weergegeven, tenzij doorsturen wordt gedwongen in het proces-switchingpad. Omdat het echter een uitvoer genereert voor elk pakket, kan de uitvoer uitgebreid zijn en ervoor zorgen dat de router ophangt. Voer daarom het debug ip-pakket alleen uit onder de strengste besturingselementen zoals beschreven in deze sectie.
De beste manier om de uitvoer van het debug ip-pakket te beperken is door een toegangslijst te maken die is gekoppeld aan het debug. Alleen pakketten die voldoen aan de criteria van de toegangslijst kunnen worden onderworpen aan het debug ip-pakket. Deze toegangslijst hoeft niet op een interface te worden toegepast, maar wordt eerder toegepast op de foutopsporingsbewerking.
Voordat u het IP-pakket voor foutopsporing uitvoert, moet u er rekening mee houden dat de router standaard gebruikmaakt van snelschakelen of CEF-switching kan gebruiken als dit is geconfigureerd. Dit betekent dat, zodra deze technieken zijn geïnstalleerd, het pakket niet aan de processor wordt geleverd, het debuggen niets laat zien. Om dit te laten werken, moet u snel schakelen op de router uitschakelen zonder ip-routecache (voor unicastpakketten) of geen ip-routecache (voor multicastpakketten). Dit moet worden toegepast op de interfaces waar het verkeer zou moeten stromen. Controleer dit met de opdracht IP-route tonen.
Opmerking: op nieuwere platforms wordt doorsturen meestal afgehandeld door CEF of hardwarematige switching, dus het uitschakelen van snel schakelen is niet langer van toepassing of aanbevolen. Als gevolg hiervan kan het debug ip-pakket geen betrouwbaar transitverkeer weergeven en is moderne probleemoplossing meestal afhankelijk van platformspecifieke vastlegging of hardwaretools.
Wanneer de functie Voorwaardelijk getriggerd debuggen is ingeschakeld, genereert de router foutopsporingsberichten voor pakketten die de router binnenkomen of verlaten op een bepaalde interface; de router genereert geen foutopsporingsuitvoer voor pakketten die via een andere interface binnenkomen of vertrekken.
Kijk naar een eenvoudige implementatie van voorwaardelijke debugs. Overweeg dit scenario: de volgende weergegeven router (trabol) heeft twee interfaces (serieel 0 en serieel 3), beide met HDLC-inkapseling.
U kunt de normale opdracht voor de seriële foutopsporingsinterface uitvoeren om de HDLC-levenden te observeren die op alle interfaces worden ontvangen. Je kunt de keepalives op beide interfaces observeren:
traxbol#debug serial interface Serial network interface debugging is on traxbol# *Mar 8 09:42:34.851: Serial0: HDLC myseq 28, mineseen 28*, yourseen 41, line up ! -- HDLC keeplaive on interface Serial 0 *Mar 8 09:42:34.855: Serial3: HDLC myseq 26, mineseen 26*, yourseen 27, line up ! -- HDLC keeplaive on interface Serial 3 *Mar 8 09:42:44.851: Serial0: HDLC myseq 29, mineseen 29*, yourseen 42, line up *Mar 8 09:42:44.855: Serial3: HDLC myseq 27, mineseen 27*, yourseen 28, line up
Voorwaardelijke foutopsporingen inschakelen voor interface serial 3, wat betekent dat alleen foutopsporingen voor interface serial 3 worden weergegeven. Voer de foutopsporingsinterface <interface_type interface_number >opdracht uit:
traxbol#debug interface serial 3 Condition 1 set
Voer de opdracht foutopsporingsconditie uit om te controleren of het voorwaardelijke foutopsporingsbericht actief is (een voorwaarde voor interface serial 3 is actief):
traxbol#show debug condition Condition 1: interface Se3 (1 flags triggered) Flags: Se3 traxbol#
Nu worden alleen de debugs voor interface serial 3 weergegeven:
*Mar 8 09:43:04.855: Serial3: HDLC myseq 29, mineseen 29*, yourseen 30, line up *Mar 8 09:43:14.855: Serial3: HDLC myseq 30, mineseen 30*, yourseen 31, line up
Voer de opdracht undebug interface <interface_type interface_number> uit om het voorwaardelijke foutopsporing te verwijderen. Het wordt aanbevolen dat u de debugs (bijvoorbeeld met behulp van undebug all) uitschakelt voordat u de voorwaardelijke trigger verwijdert. Dit is om een stortvloed van debug-uitgangen te voorkomen wanneer de voorwaarde wordt verwijderd.
traxbol#undebug interface serial 3 This condition is the last interface condition set. Removing all conditions can cause a flood of debugging messages to result, unless specific debugging flags are first removed. Proceed with removal? [yes/no]: y Condition 1 has been removed traxbol
U kunt het foutopsporingssignaal bekijken voor zowel seriële 0- als seriële 3-schermen:
*Mar 8 09:43:34.927: Serial3: HDLC myseq 32, mineseen 32*, yourseen 33, line up *Mar 8 09:43:44.923: Serial0: HDLC myseq 35, mineseen 35*, yourseen 48, line up
Waarschuwing: Sommige foutopsporingsbewerkingen zijn op zichzelf voorwaardelijk. Een voorbeeld is ATM-debugging, waarbij ATM-debugging expliciet de interface moet opgeven waarvoor debugs moeten worden ingeschakeld in plaats van debugs op alle ATM-interfaces in te schakelen en een voorwaarde op te geven.
In dit gedeelte wordt de juiste manier getoond om foutopsporing in ATM-pakketten te beperken tot één subinterface:
arielle-nrp2#debug atm packet interface atm 0/0/0.1 !--- Note that you explicitly specify the sub-interface to be used for debugging ATM packets debugging is on Displaying packets on interface ATM0/0/0.1 only arielle-nrp2# *Dec 21 10:16:51.891: ATM0/0/0.1(O): VCD:0x1 VPI:0x1 VCI:0x21 DM:0x100 SAP:AAAA CTL:03 OUI:0080C2 TYPE:0007 Length:0x278 *Dec 21 10:16:51.891: 0000 FFFF FFFF FFFF 0010 7BB9 BDC4 0800 4500 025C 01FE 0000 FF11 61C8 0A30 *Dec 21 10:16:51.891: 4B9B FFFF FFFF 0044 0043 0248 0000 0101 0600 0015 23B7 0000 8000 0000 0000 *Dec 21 10:16:51.891: 0000 0000 0000 0000 0000 0000 0010 7BB9 BDC3 0000 0000 0000 0000 0000 0000 *Dec 21 10:16:51.891: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 *Dec 21 10:16:51.891: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 *Dec 21 10:16:51.891: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 *Dec 21 10:16:51.891: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 *Dec 21 10:16:51.895: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 *Dec 21 10:16:51.895: arielle-nrp2#
Als u ATM-debugging op alle interfaces probeert in te schakelen (met een toegepaste voorwaarde), kan de router hangen als deze een groot aantal ATM-subinterfaces heeft. Een voorbeeld van de onjuiste methode voor ATM-debugging wordt weergegeven.
In dit geval kun je zien dat er een voorwaarde wordt toegepast maar je ziet ook dat dit geen effect heeft. Je kunt het pakket nog steeds zien vanuit de andere interface.
In dit labscenario heb je slechts twee interfaces en heel weinig verkeer. Als het aantal interfaces hoog is, is de debug-uitvoer voor alle interfaces ook extreem hoog en kan dit ervoor zorgen dat de router ophangt:
arielle-nrp2#show debugging condition Condition 1: interface AT0/0/0.1 (1 flags triggered) Flags: AT0/0/0.1 ! -- A condition for a specific interface. arielle-nrp2#debug atm packet ATM packets debugging is on Displaying all ATM packets arielle-nrp2# *Dec 21 10:22:06.727: ATM0/0/0.2(O): ! -- You see debugs from interface ATM0/0/0/.2, even though the condition ! -- specified ONLY AT0/0/0.1 VCD:0x2 VPI:0x5 VCI:0x37 DM:0x100 SAP:AAAA CTL:03 OUI:0080C2 TYPE:000E Length:0x2F *Dec 21 10:22:06.727: 0000 0000 0180 0000 107B B9BD C400 0000 0080 0000 107B B9BD C480 0800 0014 *Dec 21 10:22:06.727: 0002 000F 0000 *Dec 21 10:22:06.727: un a *Dec 21 10:22:08.727: ATM0/0/0.2(O): VCD:0x2 VPI:0x5 VCI:0x37 DM:0x100 SAP:AAAA CTL:03 OUI:0080C2 TYPE:000E Length:0x2F *Dec 21 10:22:08.727: 0000 0000 0180 0000 107B B9BD C400 0000 0080 0000 107B B9BD C480 0800 0014 *Dec 21 10:22:08.727: 0002 000F 0000 *Dec 21 10:22:08.727: ll *Dec 21 10:22:10.727: ATM0/0/0.2(O): VCD:0x2 VPI:0x5 VCI:0x37 DM:0x100 SAP:AAAA CTL:03 OUI:0080C2 TYPE:000E Length:0x2F *Dec 21 10:22:10.727: 0000 0000 0080 0000 107B B9BD C400 0000 0080 0000 107B B9BD C480 0800 0014 *Dec 21 10:22:10.727: 0002 000F 0000 *Dec 21 10:22:10.727: *Dec 21 10:22:12.727: ATM0/0/0.2(O): VCD:0x2 VPI:0x5 VCI:0x37 DM:0x100 SAP:AAAA CTL:03 OUI:0080C2 TYPE:000E Length:0x2F *Dec 21 10:22:12.727: 0000 0000 0080 0000 107B B9BD C400 0000 0080 0000 107B B9BD C480 0800 0014 *Dec 21 10:22:12.727: 0002 000F 0000 *Dec 21 10:22:12.727: *Dec 21 10:22:13.931: ATM0/0/0.1(O): !--- You also see debugs for interface ATM0/0/0.1 as you wanted. VCD:0x1 VPI:0x1 VCI:0x21 DM:0x100 SAP:AAAA CTL:03 OUI:0080C2 TYPE:0007 Length:0x278 *Dec 21 10:22:13.931: 0000 FFFF FFFF FFFF 0010 7BB9 BDC4 0800 4500 025C 027F 0000 FF11 6147 0A30 *Dec 21 10:22:13.931: 4B9B FFFF FFFF 0044 0043 0248 0000 0101 0600 001A 4481 0000 8000 0000 0000 *Dec 21 10:22:13.931: 0000 0000 0000 0000 0000 0000 0010 7BB9 BDC3 0000 0000 0000 0000 0000 0000 *Dec 21 10:22:13.931: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 *Dec 21 10:22:13.931: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 *Dec 21 10:22:13.931: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 *Dec 21 10:22:13.931: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 *Dec 21 10:22:13.935: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
| Revisie | Publicatiedatum | Opmerkingen |
|---|---|---|
5.0 |
22-Jun-2026
|
Bijgewerkte Inleiding spatiëring, andere spatiëring binnen het artikel, grammatica, spelling, inspringing. |
4.0 |
19-Aug-2024
|
hercertificering |
2.0 |
29-Apr-2022
|
Bijgewerkt en verwijderde gebroken links. |
1.0 |
02-Dec-2013
|
Eerste vrijgave |