In diesem Dokument werden die in der ACI integrierten Tools beschrieben, mit denen Weiterleitungsprobleme behoben werden können.
Das Material aus diesem Dokument wurde aus der Troubleshooting Cisco Application Centric Infrastructure, Second Edition extrahiert Buch, insbesondere dasFabric-interne Weiterleitung - ToolsKapitel.
Ausführlichere Erläuterungen zu ELAM und Ftriage finden Sie darüber hinaus in der Cisco Live On-Demand-Bibliothek in der Sitzung BRKDCN-3900b.
Um ein Weiterleitungsproblem im Hinblick auf die ACI zu beheben, müssen Sie Folgendes verstehen:
Die ACI umfasst verschiedene Tools, mit denen Benutzer detaillierte Informationen zu den Vorgängen in einem bestimmten Fluss erhalten. In den folgenden Abschnitten werden diese Tools detailliert vorgestellt, sodass hier nur eine grobe Einführung gegeben ist.
SPAN und ERSPAN sind beide Tools, mit denen der gesamte oder ein Teil des an einem bestimmten Standort eingehenden Datenverkehrs an einen anderen Standort repliziert werden kann. Auf dem Endgerät, an das der replizierte Datenverkehr gesendet wird, wird voraussichtlich eine Art von Paket-Sniffer/Analyzer-Anwendung ausgeführt. Traditionelles SPAN umfasst die Replikation von Datenverkehr, der an einem Port empfangen und über einen anderen Port übertragen wird. Die ACI unterstützt dies zusätzlich zu ERSPAN.
ERSPAN repliziert den Datenverkehr von einem lokalen Port aus. Der replizierte Datenverkehr wird in GRE gekapselt und an ein Remote-Ziel gesendet. In der ACI muss dieses ERSPAN-Ziel nur als Layer-3-Endpunkt erfasst werden, und es kann sich um eine beliebige EPG in einer beliebigen VRF-Instanz handeln.
Es empfiehlt sich, immer SPAN-Ziele mit der Fabric zu verbinden, um die Vorbereitungszeit während der Fehlerbehebung zu minimieren und eine schnelle Konfiguration und Erfassung von ERSPAN-Sitzungen zu ermöglichen.
Embedded Logic Analyzer Module (ELAM) ist ein Tool, mit dem ein Benutzer Bedingungen in der Hardware festlegen und das erste Paket oder Frame erfassen kann, das den festgelegten Bedingungen entspricht. Bei einer erfolgreichen Erfassung wird der ELAM-Status als "getriggert" angezeigt. Nach der Auslösung wird das ELAM deaktiviert, und es kann ein Dump erfasst werden, um die große Anzahl von Weiterleitungsentscheidungen zu analysieren, die der Switch-ASIC mit diesem Paket/Frame trifft. ELAM wird auf ASIC-Ebene implementiert und hat keine Auswirkungen auf die CPU oder andere Ressourcen auf dem Switch.
In den Weiterleitungsbeispielen in diesem Buch wird ELAM verwendet, um zu überprüfen, was mit dem Fluss geschieht. Beispiele zeigen sowohl die Leaf-CLI-Version als auch die ELAM Assistant-Anwendung.
In diesem Leitfaden wird die Verwendung von ELAM auf Leaf-Switches der ersten Generation (Switches ohne EX-, FX- oder FX2-Suffix) nicht behandelt.
Bevor Sie das Tool verwenden, ist es wichtig, die Struktur der Befehlssyntax zu verstehen.
Beispiel für Leaf-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]
Auszulösende Bedingungen festlegen:
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]
Generieren Sie den Dump mit der Paketanalyse.
ereport [display detailed forwarding decision for the packet]
Fahren Sie mit der Eingabe des Befehls status fort, um den Status des Triggers anzuzeigen. Sobald auf dem ASIC ein Paket erkannt wird, das mit den definierten Bedingungen übereinstimmt, wird die Ausgabe von status getriggert. Sobald das ELAM ausgelöst wurde, können die Details der Entscheidungen über die Switch-Weiterleitung mit dem Befehl "report" angezeigt werden. Vor der ACI-Version 4.2 muss ein Bericht verwendet werden.
Beachten Sie, dass in der ELAM-Syntax der ASIC angegeben werden muss. Da der ASIC vom Switch-Modell abhängt, können Sie in dieser Tabelle feststellen, welcher ASIC verwendet werden muss:
| Switch-/Linecard-Produktfamilie |
Asic für Elam |
| - EX-Switches/LCs |
TAH |
| - FX(P)-Switches/LCs |
ROC |
| - FX2-Switches/LCs |
ROC |
| C-Switches (9364C, 9332C) |
ROC |
| -GX-Switches |
Anwendung |
| -GX2-Switches |
CHO |
| - FX3-Switches |
ROC |
Die andere Komponente der ELAM, die verstanden werden muss, wenn sie über die CLI ausgeführt wird, ist in-select. Die In-Select-Einstellung legt fest, welche Header das Paket/der Frame voraussichtlich hat und welche übereinstimmen.
Beispielsweise hätte ein Paket, das von einem Downlink-Port kommt, der nicht VXLAN-gekapselt ist, nur äußere Layer-2-, Layer-3- und Layer-4-Header.
Ein Paket, das von einem VXLAN-gekapselten Front-Panel-Port (Downlink) (z. B. Cisco ACI Virtual Edge im VXLAN-Modus) oder von einem Upstream-Spine stammt, verfügt über VXLAN-Kapselung. Dies bedeutet, dass potenziell sowohl äußere als auch innere Layer-2-, Layer-3- und Layer-4-Header vorhanden sind.
Alle Auslöseoptionen sind:
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
Wenn in-select 6 ausgewählt ist, können Sie nur Bedingungen festlegen und Header von den äußeren Layer-2-, Layer-3- oder Layer-4-Headern anzeigen. Wenn in-select 14 ausgewählt ist, besteht die einzige Option darin, Bedingungen für die äußeren und inneren Layer-2-, Layer-3- und Layer-4-Header festzulegen und deren Details anzuzeigen.
Hinweis zu Best Practices:
Mit dem Befehl out-select können Sie steuern, welche Suchergebnisse im ELAM-Bericht angezeigt werden. Für die meisten praktischen Zwecke kann out-select 0 verwendet werden, da es die meisten Informationen einschließlich des Drop-Vektors enthält, der angibt, ob das Ergebnis der Suche das Verwerfen des Pakets/Frames ist.
Beachten Sie, dass bei Verwendung des Berichts anstelle des Berichts oder der Berichtsdetails zum Abrufen der ELAM-Ergebnisse nur der Dropvektor in der Out-Select 1 angezeigt wird. Es ist jedoch immer möglich, Berichte oder Berichtsdetails mit der Out-Select 0 auszuführen.
ELAM unterstützt eine große Anzahl von Layer-2-, Layer-3- und Layer-4-Bedingungen, nach denen in einem Paket gesucht werden muss. Durch die Angabe von inner vs. outer wird bestimmt, ob die Bedingung im inneren Header (VXLAN-gekapseltes Paket) oder im äußeren Header überprüft werden kann.
ARP-Beispiel:
set outer arp source-ip-address 10.0.0.1 target-ip-address 10.0.0.2
Beispiel für MAC-Adresse:
set outer l2 src_mac aaaa.bbbb.cccc dst_mac cccc.bbbb.aaaa
IP-Adresse im inneren Header-Beispiel:
set inner ipv4 src_ip 10.0.0.1 dst_ip 10.0.0.2
Überprüfen Sie, ob der ELAM mit dem Status ausgelöst wurde:
module-1(DBG-elam-insel6)# status
ELAM STATUS
===========
Asic 0 Slice 0 Status Armed
Asic 0 Slice 1 Status Triggered
Der Bericht kann verwendet werden, um das Ergebnis der ELAM in einem leicht verständlichen Format anzuzeigen. Beachten Sie, dass der ELAM-Bericht im Ordner /var/log/dme/log/ auf dem Switch gespeichert wird. Im Ordner befinden sich zwei Dateien für die ELAM:
In diesem Beispiel wird ein nicht VXLAN-gekapselter Datenverkehr (Übereinstimmung am äußeren Header) erfasst, der von einem Downlink-Port an einem -EX-Switch stammt:
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
Die Beispiele zur Fehlerbehebung in diesem Buch zeigen auch die Verwendung des ELAM-Assistenten.
Früher war es eine App, die über das Cisco DC App Center heruntergeladen werden kann (https://dcappcenter.cisco.com). Ab der ACI-Version 6.1(2)+ ist der ELAM Assistant jedoch direkt in den APIC integriert, und der Zugriff erfolgt über die Registerkarte "Operations" (Vorgänge) in der APIC-Benutzeroberfläche.

Bei eingebettetem ELAM Assistant können nur APIC-Benutzer mit Lese- und Schreibberechtigung den ELAM Assistant verwenden. Die Menüoption ist für Benutzer ohne Lese- und Schreibberechtigung nicht sichtbar.
Dieses Tool automatisiert die Bereitstellung und Interpretation von ELAMs über die grafische Benutzeroberfläche des APIC.
Dieses Beispiel zeigt die Bereitstellung eines ELAM, das mit einer bestimmten Quell- und Ziel-IP-Adresse auf einem Node-101-Downlink-Port übereinstimmt:
Um es zu verwenden, müssen Sie auf Capture (Perform ELAM) im linken Bereich klicken und dann im Hauptbildschirm auf Add node (Knoten hinzufügen) klicken, um Knoten hinzuzufügen, für die das ELAM eingerichtet werden muss. In diesem Beispiel wird node-101 hinzugefügt:

Nach dem Hinzufügen der gewünschten Knoten muss die Richtung konfiguriert werden (Downlink/Downlink VXLAN/Uplink).
Es kann auch festgelegt werden, ob eine bestimmte Schnittstelle beachtet werden muss. Der Standardwert ist any.
Schließlich können noch eine Reihe von Parametern eingerichtet werden (ähnlich wie bei der CLI-Version):


Klicken Sie abschließend auf ELAM(s) festlegen, um die ELAMs auf den angegebenen Knoten zu aktivieren.
Um zu bestätigen, ob der ELAM ausgelöst wurde, kann die Schaltfläche Trigger überprüfen angeklickt werden. Wenn der ELAM in einem Knoten ausgelöst wird, ändert sich der Status neben dem Knotennamen in Report Ready:

Diese Schaltfläche "Report Ready" (Bericht bereit) zeigt den folgenden ELAM-Bericht in einem hübschen Format an:

Die Ausgabe wird in drei Varianten angezeigt: Express, Detail und Raw.
Der ELAM-Assistent ermöglicht außerdem die einfache Verwendung komplexerer Anpassungsparameter wie der Quellschnittstelle oder der VXLAN-Werte.
Der Befehl ping ist ein in Linux verwendetes Standard-Netzwerkprogramm, mit dem die Erreichbarkeit eines Hosts in einem IP-Netzwerk (Internet Protocol) getestet wird. Er sendet ICMP-Echoanforderungspakete an ein angegebenes Ziel (eine IP-Adresse oder einen Domänennamen) und wartet auf eine Echoantwort.
Die Hauptfunktion dieses Befehls besteht darin, Folgendes auszuführen:
・ Konnektivitätstests: Überprüft, ob ein Remote-Gerät aktiv und erreichbar ist.
・ Latenzmessung: Berechnet die Round-Trip-Zeit (Round-Trip Time, RTT) für Pakete, die an das Ziel und zurück gesendet werden, in Millisekunden (ms).
・ Erkennung von Paketverlusten: Gibt den Prozentsatz der Pakete an, die nicht zurückgesendet wurden. Dies hilft, Netzwerküberlastungen oder Stabilitätsprobleme zu identifizieren.
Dieses Dienstprogramm kann verwendet werden, wenn im APIC Probleme mit der Erreichbarkeit festgestellt werden.
Überprüfen Sie die Erreichbarkeit eines externen SNMP-Servers (Beispiel 10.31.125.144) von der APIC-OOB-Adresse:
ping 10.31.125.144 -I oobmgmt
Wie ersichtlich, ist die -I-Option hilfreich, um die Quellschnittstelle, in diesem Beispiel die OOB-Managementadresse, anzugeben.
Mit der Option -h können alle verfügbaren Optionen angezeigt werden.
Der Befehl iping hingegen ist ein spezielles Diagnosetool innerhalb der Cisco Application Centric Infrastructure (ACI)-Umgebung.
iping ist ein leistungsstarkes Netzwerkdiagnosedienstprogramm, das in der CLI der Cisco ACI verwendet wird, um die Verbindung von einem bestimmten Knoten oder Kontext in der Fabric zu überprüfen. Da es sich bei der ACI um eine Multi-Tenant-Umgebung handelt, können Administratoren mithilfe von IP-Lösungen die Verbindungen testen und dabei die logische Isolierung durch VRFs und Tenants berücksichtigen.
So funktioniert es: Er initiiert eine ICMP-Echoanfrage von einem angegebenen Quellknoten oder Kontext an eine Ziel-IP-Adresse. Er stellt sicher, dass das Paket die Fabric gemäß den konfigurierten EPGs und Verträgen korrekt durchläuft. Dazu muss der Leaf-Switch das ICMP-Paket auf die gleiche Weise kapseln, wie ein Produktionsdatenverkehr gekapselt würde, wenn er in die Fabric einträte. Der iVXLAN-Header enthält die VNID (Virtual Network Identifier), die den Datenverkehr der richtigen VRF- oder EPG zuordnet. Dadurch wird sichergestellt, dass für das Paket dieselben Weiterleitungsregeln und Sicherheitsrichtlinien gelten wie für den tatsächlichen Produktionsdatenverkehr.
Hauptfunktionen:
Erreichbarkeit von Endgeräten bestätigen, Ping-Signal von der SVI senden, die vom Bridge Domain Subject (SVI) bereitgestellt wurde
iping 192.168.104.2 -V tenant_prod:VRF1
Es muss mindestens die VRF-Quelle mit dem Parameter -V ausgewählt werden.
Wenn das Flag -V <tenant>:<vrf> bereitgestellt wird, identifiziert das System die spezifische VNID (VXLAN Network Identifier), die mit dieser VRF-Instanz verknüpft ist. Diese VNID ist wichtig, um sicherzustellen, dass das Paket innerhalb der richtigen logischen Routing-Tabelle geroutet wird.
Mit der Option -h können alle verfügbaren Optionen angezeigt werden.
fTriage ist ein CLI-basiertes Tool für die APIC-Komplettautomatisierung der ELAM-Konfiguration und -Interpretation. Die Prämisse des Tools besteht darin, dass ein Benutzer einen bestimmten Datenfluss sowie den Leaf definieren kann, auf dem der Datenfluss beginnen soll. Anschließend werden ELAMs auf jedem Knoten einzeln ausgeführt, um den Weiterleitungsfluss zu untersuchen. Sie ist besonders in großen Topologien nützlich, in denen unklar ist, welchen Pfad ein Paket nimmt.
fTriage generiert eine große Protokolldatei, die die Ausgabe jedes ausgeführten Befehls enthält. Der Name dieser Datei wird in den ersten Zeilen der fTriage-Ausgabe angezeigt.
fTriage kann bis zu 15 Minuten dauern.
Abbilden des Datenflusses für die geroutete Kommunikation zwischen 10.0.1.1 und 10.0.2.1 ab Blatt 104:
ftriage route -ii LEAF:104 -dip 10.0.2.1 -sip 10.0.1.1
Erstellen Sie einen Layer-2-Fluss, beginnend mit Leaf 104:
ftriage bridge -ii LEAF:104 -dmac 02:02:02:02:02:02
Die vollständige fTriage-Hilfe kann angezeigt werden, wenn Sie ftriage —help auf dem APIC ausführen.
tcpdump kann auf ACI-Switches verwendet werden, um den Datenverkehr zur und von der Steuerungsebene zu erfassen. Beachten Sie, dass nur der an die Switch-CPU gesendete Steuerungsebenen-Datenverkehr bei einer tcpdump-Erfassung beobachtet werden kann. Hier einige Beispiele: Routing-Protokolle, LLDP/CDP, LACP, ARP usw. Zur Erfassung des Datenverkehrs auf Datenebene (und Kontrollebene) nutzen Sie SPAN und/oder ELAM.
Um Daten auf der CPU zu erfassen, geben Sie die Schnittstelle kpm_inb an. Die meisten herkömmlichen tcpdump-Optionen und -Filter sind verfügbar.
Beispiel zur Erfassung von ICMP, das an eine SVI auf dem Leaf-Switch gerichtet ist:
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
Darüber hinaus ermöglicht die Option -w tcpdump, die Paketerfassung in eine PCAP-Datei zu schreiben, sodass sie in Tools wie Wireshark geöffnet werden kann.
Zur Verwendung von tcpdump an der eth0-Schnittstelle, der Out-of-Band-Schnittstelle am Switch. Dies ist nützlich, um die Anbindung von Datenverkehr zu beheben, der über den physischen Out-of-Band-Port des Switches läuft. Hierbei handelt es sich hauptsächlich um Kontrollebenen-basierten Datenverkehr wie SSH, SNMP usw.
Atomare On-Demand-Zähler zählen Pakete innerhalb eines bestimmten Datenflusses, wenn sie einen Leaf-Uplink verlassen und über einen anderen Leaf-Fabric-Port empfangen werden. Sie ermöglichen eine gewisse Präzision, wenn es darum geht, ob Pakete übersehen oder empfangen wurden.
| Überarbeitung | Veröffentlichungsdatum | Kommentare |
|---|---|---|
3.0 |
01-Jul-2026
|
Hinweis zur Integration von ELAM Assistant in APICs in Version 6.1(2)+ hinzugefügt |
2.0 |
19-Aug-2024
|
Formatierung von Befehlen. |
1.0 |
10-Aug-2022
|
Erstveröffentlichung |