In dit document worden tools beschreven die standaard in ACI zijn opgenomen en die kunnen worden gebruikt om problemen met doorsturen op te sporen.
Het materiaal uit dit document is afkomstig uit de tweede editie van Cisco Application Centric Infrastructure voor probleemoplossing Het boek, in het bijzonder deIntra-Fabric doorsturen - Toolshoofdstuk.
Bovendien zijn diepere verklaringen van ELAM en Ftriage te vinden in de CiscoLive On-Demand-bibliotheek in sessie BRKDCN-3900b.
Om een probleem met doorsturen vanuit een ACI-perspectief op te lossen, moet u het volgende begrijpen:
ACI bevat verschillende tools waarmee de gebruiker diepgaand inzicht kan krijgen in wat er met een specifieke stroom gebeurt. In de volgende secties worden deze tools in detail getoond, dus hier wordt alleen een introductie op hoog niveau gegeven.
SPAN en ERSPAN zijn beide tools waarmee alle of een deel van het verkeer dat op een specifieke locatie is ontvangen, kan worden gerepliceerd naar een andere locatie. Het eindapparaat waarnaar het gerepliceerde verkeer wordt verzonden, zal naar verwachting een soort pakketsnuiver / analysatortoepassing uitvoeren. Traditionele SPAN omvat het repliceren van verkeer dat wordt ontvangen op de ene poort en uitdelen via een andere poort. ACI ondersteunt het doen van dit in aanvulling op ERSPAN.
ERSPAN repliceert het verkeer vanuit een lokale poort; het gerepliceerde verkeer wordt ingekapseld in GRE en verzonden naar een externe bestemming. In ACI moet deze ERSPAN-bestemming alleen worden geleerd als een Layer 3-eindpunt en kan het elke EPG in elke VRF zijn.
Het is een goed idee om altijd SPAN-bestemmingen op de fabric te hebben aangesloten om de voorbereidingstijd tijdens het oplossen van problemen te minimaliseren en snelle configuratie en vastlegging van RESPAN-sessies mogelijk te maken.
Embedded Logic Analyzer Module (ELAM) is een tool waarmee een gebruiker voorwaarden in hardware kan instellen en het eerste pakket of frame kan vastleggen dat overeenkomt met de ingestelde voorwaarden. Een succesvolle opname zorgt ervoor dat de ELAM-status wordt weergegeven als "geactiveerd". Zodra de ELAM is geactiveerd, is deze uitgeschakeld en kan een dump worden verzameld om het grote aantal doorstuurbeslissingen te analyseren dat de switch ASIC met dat pakket / frame maakt. ELAM wordt geïmplementeerd op het ASIC-niveau en heeft geen invloed op de CPU of andere bronnen op de switch.
De forwarding voorbeelden in dit boek gebruiken ELAM als een middel om te controleren wat er gebeurt met de stroom. Voorbeelden tonen zowel de blad CLI-versie als de ELAM Assistant App.
Deze gids heeft geen betrekking op het gebruik van ELAM op de eerste generatie blad switches (switches zonder EX, FX, of FX2 achtervoegsel).
Voordat u de tool gebruikt, is het belangrijk om de structuur van de opdrachtsyntaxis te begrijpen.
Voorbeeld op blad CLI:
vsh_lc [This command enters the line card shell where ELAMs are run]
debug platform internal <asic> elam asic 0 [refer to the ASICs table]
Stel voorwaarden in om te activeren:
trigger reset [ensures no existing triggers are running]
trigger init in-select <number> out-select <number> [determines what information about a packet is displayed and which conditions can be set]
set outer/inner [sets conditions]
start [starts the trigger]
status [checks if a packet is captured]
Genereer de dump met de pakketanalyse
ereport [display detailed forwarding decision for the packet]
Ga door met het invoeren van de opdracht status om de status van de trigger te bekijken. Zodra een pakket dat overeenkomt met de gedefinieerde voorwaarden is gedetecteerd op de ASIC, wordt de uitvoer van de status geactiveerd. Zodra de ELAM is geactiveerd, kunnen de details van de beslissingen voor het doorsturen van de switch worden weergegeven met 'rapport'. Voorafgaand aan ACI versie 4.2 moet het rapport worden gebruikt.
Binnen de ELAM-syntaxis moet de ASIC worden opgegeven. Aangezien de ASIC afhankelijk is van het switch-model, raadpleegt u deze tabel om te bepalen welke ASIC moet worden opgegeven:
| Switch/lijnkaart Familie |
Asic voor Elam |
| EX-switches/LC's |
TAH |
| FX(P)-switches/LC's |
ROC |
| FX-2-switches/LC's |
ROC |
| C-switches (9364C, 9332C) |
ROC |
| GX-switches |
APP |
| -GX2-switches |
CHO |
| -FX3-switches |
ROC |
Het andere onderdeel van de ELAM dat moet worden begrepen wanneer u vanuit de CLI werkt, is de in-select. De in-select definieert welke headers het pakket / frame naar verwachting zal hebben en welke overeenkomen.
Een pakket dat afkomstig is van een downlink-poort die niet in VXLAN is ingekapseld, heeft bijvoorbeeld alleen buitenste Layer 2-, Layer 3- en Layer 4-headers.
Een pakket dat afkomstig is van een poort op het voorpaneel (downlink) die is ingekapseld in VXLAN (zoals Cisco ACI Virtual Edge in VXLAN-modus) of afkomstig is van een upstream-wervelkolom, zou VXLAN-inkapseling hebben. Dit betekent dat het mogelijk zowel de buitenste als binnenste Layer 2-, Layer 3- en Layer 4-headers heeft.
Alle triggeropties zijn:
leaf1# vsh_lc
module-1# debug platform internal tah elam asic 0
module-1(DBG-elam)# trigger reset
module-1(DBG-elam)# trigger init in-select ?
10 Outerl4-innerl4-ieth
13 Outer(l2|l3|l4)-inner(l2|l3|l4)-noieth
14 Outer(l2(vntag)|l3|l4)-inner(l2|l3|l4)-ieth
15 Outer(l2|l3|l4)-inner(l2|l3|l4)-ieth
6 Outerl2-outerl3-outerl4
7 Innerl2-innerl3-innerl4
8 Outerl2-innerl2-ieth
9 Outerl3-innerl3
Als in-select 6 is geselecteerd, is de enige optie het instellen van voorwaarden en het weergeven van headers van de buitenste Layer 2, 3 of 4 headers. Als in-select 14 is geselecteerd, is de enige optie om voorwaarden in te stellen voor en de details van de buitenste en binnenste Layer 2-, 3- en 4-koppen te bekijken.
Opmerking over best practices:
Met de opdracht out-select kunt u bepalen welke opzoekresultaten worden weergegeven in het ELAM-rapport. Voor de meeste praktische doeleinden kan out-select 0 worden gebruikt omdat het de meeste informatie bevat, waaronder de drop-vector, die vertelt of het resultaat van het opzoeken is om het pakket / frame te laten vallen.
Merk op dat wanneer rapport in plaats van rapport of rapportdetails wordt gebruikt om ELAM-resultaten te krijgen, drop vector alleen wordt weergegeven in out-select 1. Men kan echter altijd rapportage of rapportdetails uitvoeren met out-select 0.
ELAM ondersteunt een grote hoeveelheid Layer 2-, 3- en 4-voorwaarden om in een pakket te zoeken. Het opgeven van inner vs. outer bepaalt of de voorwaarde kan worden gecontroleerd in de inner header (VXLAN ingekapseld pakket) of outer header.
ARP-voorbeeld:
set outer arp source-ip-address 10.0.0.1 target-ip-address 10.0.0.2
Voorbeeld MAC-adres:
set outer l2 src_mac aaaa.bbbb.cccc dst_mac cccc.bbbb.aaaa
IP-adres in voorbeeld van binnenste koptekst:
set inner ipv4 src_ip 10.0.0.1 dst_ip 10.0.0.2
Controleer of de ELAM is geactiveerd met de status:
module-1(DBG-elam-insel6)# status
ELAM STATUS
===========
Asic 0 Slice 0 Status Armed
Asic 0 Slice 1 Status Triggered
Het rapport kan worden gebruikt om het resultaat van de ELAM in een gemakkelijk te begrijpen formaat weer te geven. Merk op dat het ELAM-rapport wordt opgeslagen in de map /var/log/dme/log/ op de switch. Er zijn twee bestanden voor de ELAM onder de map:
In dit voorbeeld wordt een niet-VXLAN-ingekapseld verkeer (overeenkomend met de buitenste header) vastgelegd dat afkomstig is van een downlink-poort op een -EX-switch:
module-1# debug platform internal tah elam asic 0
module-1(DBG-elam)# trigger reset
module-1(DBG-elam)# trigger init in-select 6 out-select 0
module-1(DBG-elam-insel6)# set outer ipv4 src_ip 10.0.0.1 dst_ip 10.0.0.2
module-1(DBG-elam-insel6)# start
module-1(DBG-elam-insel6)# status
module-1(DBG-elam-insel6)# ereport
De probleemoplossende voorbeelden in dit boek laten ook het gebruik van de ELAM-assistent zien.
Voorheen was het een app die kan worden gedownload via het Cisco DC App Center (https://dcappcenter.cisco.com). maar vanaf ACI versie 6.1(2)+ is de ELAM Assistant rechtstreeks geïntegreerd in APIC en toegankelijk via het tabblad Operations in de APIC UI.

Voor ingesloten ELAM-assistent kunnen alleen APIC-gebruikers met lees- en schrijfbevoegdheid Elam-assistent gebruiken en is de menuoptie niet zichtbaar voor gebruikers zonder lees- en schrijfbevoegdheid.
Deze tool automatiseert de implementatie en interpretatie van ELAM's via de GUI op de APIC.
Dit voorbeeld toont de implementatie van een ELAM die overeenkomt met een specifieke bron- en bestemmings-IP op de node-101 downlink-poort:
Om het te gebruiken, moet u klikken op Vastleggen (ELAM uitvoeren) in het linkerzijpaneel en vervolgens in het hoofdscherm klikken op Knooppunt toevoegen om te beginnen met het toevoegen van knooppunten waar de ELAM moet worden ingesteld. In dit voorbeeld wordt node-101 toegevoegd:

Zodra de interessante knooppunten zijn toegevoegd, is het nodig om de richting te configureren (downlink / downlink VXLAN / uplink).
Het is ook mogelijk om te specificeren of een bepaalde interface moet worden waargenomen, de standaard is elke.
Ten slotte kan een reeks parameters worden ingesteld (vergelijkbaar met de CLI-versie):


Klik ten slotte op ELAM(s) instellen om de ELAM's op de opgegeven knooppunten te wapenen.
Om te bevestigen of de ELAM is geactiveerd, kan op de knop Check Trigger worden geklikt en als de ELAM in een node wordt geactiveerd, verandert de status in Report Ready naast de naam van de node:

Deze knop Rapportklaar wordt weergegeven in een mooie indeling in het ELAM-rapport hieronder:

De uitvoer wordt weergegeven in drie smaken: Express, Detail en Raw.
De ELAM-assistent maakt ook eenvoudig gebruik van complexere overeenkomende parameters mogelijk, zoals de broninterface of VXLAN-waarden.
De ping-opdracht is een standaard netwerkhulpprogramma dat in Linux wordt gebruikt om de bereikbaarheid van een host op een IP-netwerk (Internet Protocol) te testen. Het verzendt ICMP Echo Request-pakketten naar een opgegeven bestemming (een IP-adres of domeinnaam) en luistert naar een Echo Reply.
De belangrijkste functie van dit commando is:
· Connectiviteitstests: controleert of een extern apparaat actief en bereikbaar is.
· Latentiemeting: berekent de retourtijd (RTT) voor pakketten om naar de bestemming en terug te reizen, gemeten in milliseconden (ms).
· Packet Loss Detection: rapporteert het percentage pakketten dat niet is geretourneerd, wat helpt bij het identificeren van problemen met netwerkcongestie of stabiliteit.
Dit hulpprogramma kan worden gebruikt wanneer problemen met bereikbaarheid worden geïdentificeerd in de APIC.
Bevestig de bereikbaarheid van een externe SNMP-server (voorbeeld 10.31.125.144) vanaf het APIC OOB-adres:
ping 10.31.125.144 -I oobmgmt
Zoals te zien is, is de I-optie handig om de broninterface op te geven, in dit voorbeeld het OOB-beheeradres.
U kunt de optie -h gebruiken om alle beschikbare opties te bekijken.
De iping-opdracht daarentegen is een gespecialiseerd diagnostisch hulpmiddel binnen de Cisco Application Centric Infrastructure (ACI)-omgeving.
iping is een krachtig hulpprogramma voor netwerkdiagnostiek dat wordt gebruikt binnen de Cisco ACI CLI om de connectiviteit van een specifieke node of context binnen de fabric te verifiëren. Omdat ACI een multi-tenant omgeving is, kunnen beheerders met iping connectiviteit testen terwijl ze rekening houden met de logische isolatie die wordt geboden door VRF's en huurders.
Hoe het werkt: Het initieert een ICMP echo verzoek van een opgegeven bron knooppunt of context naar een bestemming IP. Het zorgt ervoor dat het pakket de fabric correct doorloopt volgens de geconfigureerde EPG's en contracten. Om dit te doen, moet de switch het ICMP-pakket inkapselen op dezelfde manier als een productieverkeer zou worden ingekapseld als het in het weefsel zou komen. De iVXLAN-header bevat de VNID (Virtual Network Identifier) die het verkeer toewijst aan de juiste VRF of EPG. Dit zorgt ervoor dat het pakket onderworpen is aan dezelfde doorstuurregels en beveiligingsbeleid als het werkelijke productieverkeer.
Primaire functies:
Bevestig de bereikbaarheid van het eindpunt door te pingen vanaf de SVI die is geïmplementeerd vanaf het Bridge Domain-onderwerp (SVI)
iping 192.168.104.2 -V tenant_prod:VRF1
Het is nodig om ten minste de VRF-bron te selecteren, met de parameter -V.
Wanneer de markering <tenant>:<vrf> wordt opgegeven, identificeert het systeem de specifieke VNID (VXLAN Network Identifier) die aan die VRF is gekoppeld. Deze VNID is van cruciaal belang om ervoor te zorgen dat het pakket binnen de juiste logische routeringstabel wordt gerouteerd.
U kunt de optie -h gebruiken om alle beschikbare opties te bekijken.
fTriage is een APIC CLI-gebaseerde tool die bedoeld is om end-to-end automatisering van ELAM-configuratie en -interpretatie te bieden. Het uitgangspunt van de tool is dat een gebruiker een specifieke stroom kan definiëren, evenals het blad waar de stroom naar verwachting zal beginnen. De tool voert vervolgens ELAM's uit op elke node, één voor één, om de doorstuurstroom te onderzoeken. Het is vooral handig in grote topologieën waar het onduidelijk is welk pad een pakket neemt.
fTriage genereert een groot logbestand met de uitvoer van elke uitgevoerde opdracht. De naam van dit bestand is zichtbaar op de eerste paar regels van de fTriage-uitvoer.
Het voltooien van de triage kan tot 15 minuten duren.
Breng de stroom in kaart voor gerouteerde communicatie tussen 10.0.1.1 en 10.0.2.1 vanaf blad 104:
ftriage route -ii LEAF:104 -dip 10.0.2.1 -sip 10.0.1.1
Breng een laag 2-stroom in kaart vanaf blad 104:
ftriage bridge -ii LEAF:104 -dmac 02:02:02:02:02:02
Volledige hulp van Triage kan worden gezien door ftriage uit te voeren - hulp op de APIC.
tcpdump kan worden gebruikt op ACI-switches om verkeer van en naar het controlevliegtuig vast te leggen. Merk op dat alleen het vliegtuigverkeer dat naar de switch-processor wordt verzonden, kan worden waargenomen bij het vastleggen van een tcpdump. Enkele voorbeelden zijn: routeringsprotocollen, LLDP/CDP, LACP, ARP, enzovoort. Voor het vastleggen van het dataverkeer (en het besturen van het vliegtuig) kunt u gebruik maken van SPAN en/of ELAM.
Als u gegevens wilt vastleggen op de CPU, geeft u de kpm_inb-interface op. De meeste traditionele tcpdump opties en filters zijn beschikbaar.
Voorbeeld van het vastleggen van ICMP bestemd voor een SVI op de switch:
leaf205# tcpdump -ni kpm_inb icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on kpm_inb, link-type EN10MB (Ethernet), capture size 65535 bytes
20:24:12.921981 IP 10.0.2.100 > 10.0.2.1: ICMP echo request, id 62762, seq 4096, length 64
20:24:12.922059 IP 10.0.2.1 > 10.0.2.100: ICMP echo reply, id 62762, seq 4096, length 64
20:24:13.922064 IP 10.0.2.100 > 10.0.2.1: ICMP echo request, id 62762, seq 4352, length 64
20:24:13.922157 IP 10.0.2.1 > 10.0.2.100: ICMP echo reply, id 62762, seq 4352, length 64
20:24:14.922231 IP 10.0.2.100 > 10.0.2.1: ICMP echo request, id 62762, seq 4608, length 64
20:24:14.922303 IP 10.0.2.1 > 10.0.2.100: ICMP echo reply, id 62762, seq 4608, length 64
Bovendien kan de tcpdump met de optie-w de pakketopname naar een PCAP-bestand schrijven, zodat deze kan worden geopend in tools zoals Wireshark.
Om tcpdump te gebruiken op de eth0 interface, dat is de out-of-band interface op de switch. Dit is handig voor het oplossen van problemen met de connectiviteit van verkeer dat door de out-of-band poort van de switch gaat. Dit zou voornamelijk het regelen van vliegverkeer zijn, zoals SSH, SNMP, enzovoort.
On-demand atoomtellers zijn bedoeld om pakketten te tellen binnen een specifieke stroom als ze vertrekken op een blad uplink en worden ontvangen op een andere blad stof poort. Ze laten enige granulariteit toe in de vraag of pakketten werden gemist of te veel werden ontvangen.
| Revisie | Publicatiedatum | Opmerkingen |
|---|---|---|
3.0 |
01-Jul-2026
|
Toegevoegd bijschrift dat ELAM Assistant wordt ingebed op APIC's in versie 6.1 (2) + |
2.0 |
19-Aug-2024
|
Opmaak van opdrachten. |
1.0 |
10-Aug-2022
|
Eerste vrijgave |