Trace-Tool verwenden

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Was ist das Trace-Tool?

Trace ist ein Tool zur Fehlerbehebung und Überwachung von API-Proxys, die auf Apigee Edge ausgeführt werden. Mit Trace können Sie die Details jedes Schritts über einen API-Proxy-Ablauf prüfen.

In diesem Video erhalten Sie eine Einführung in das Trace-Tool.

Trace verwenden

Trace ist einfach zu verwenden. Sie starten eine Trace-Sitzung, führen dann einen API-Aufruf an die Edge-Plattform aus und lesen die Ergebnisse.

  1. Greifen Sie wie unten beschrieben auf die Seite "API-Proxies" zu.

    Edge

    So greifen Sie über die Edge-Benutzeroberfläche auf die Seite „API-Proxys“ zu:

    1. Melden Sie sich unter apigee.com/edge an.
    2. Wählen Sie in der linken Navigationsleiste Develop > API Proxies aus.

    Classic Edge (Private Cloud)

    So greifen Sie über die Classic Edge-Benutzeroberfläche auf die Seite „API-Proxys“ zu:

    1. Melden Sie sich bei http://ms-ip:9000 an, wobei ms-ip die IP-Adresse oder der DNS-Name des Knotens des Verwaltungsservers ist.
    2. Wählen Sie in der oberen Navigationsleiste APIs > API-Proxies aus.
  2. Wählen Sie auf der Seite API-Proxys einen API-Proxy aus.
  3. Die API, die Sie verfolgen möchten, muss bereitgestellt sein.
  4. Klicken Sie auf Trace, um die Ansicht des Trace-Tools aufzurufen.
  5. Wählen Sie im Drop-down-Menü Deployment to Trace die Bereitstellungsumgebung und Proxyversion aus, die Sie verfolgen möchten.
  6. Klicken Sie auf Trace-Sitzung starten. Wenn die Trace-Sitzung aktiv ist, zeichnet der API-Proxy Details zu jedem Schritt in der Verarbeitungspipeline auf. Während der Trace-Sitzung werden Nachrichten und Kontextdaten aus dem Live-Traffic erfasst.

  7. Wenn kein Live-Traffic über Ihren Proxy fließt, senden Sie einfach eine Anfrage an die API. Sie können ein beliebiges Tool für die Anfrage verwenden, z. B. curl, Postman oder ein anderes bekanntes Tool. Sie können die Anfrage auch direkt vom Trace-Tool aus senden. Geben Sie einfach die URL ein und klicken Sie auf Senden. Hinweis: Sie können vom Trace-Tool nur eine GET-Anfrage senden, keine POST-Anfrage.

    Hinweis: Eine Trace-Sitzung kann 10 Anfrage-/Antworttransaktionen pro Message Processor über den ausgewählten API-Proxy unterstützen. In Edge Cloud werden mit 2 Nachrichtenprozessoren, die Traffic verarbeiten, 20 Anfrage-/Antworttransaktionen unterstützt. Eine Trace-Sitzung wird nach 10 Minuten automatisch beendet, wenn Sie sie nicht manuell beenden.
  8. Wenn Sie eine ausreichende Anzahl von Anfragen erfasst haben, klicken Sie auf Trace-Sitzung beenden.
  9. Im Menü auf der linken Seite wird eine Liste der erfassten Anfrage-/Antworttransaktionen angezeigt. Klicken Sie auf eine der Transaktionen, um detaillierte Ergebnisse aufzurufen.

Traces richtig lesen

Das Trace-Tool besteht aus zwei Hauptteilen: der Transaktionskarte und den Phasendetails:

  • Die Transaktionskarte verwendet Symbole, um jeden wichtigen Schritt zu markieren, der während einer API-Proxy-Transaktion auftritt, einschließlich Richtlinienausführung, bedingte Schritte und Übergänge. Bewegen Sie den Mauszeiger auf ein beliebiges Symbol, um eine Zusammenfassung der Informationen zu sehen. Die Schritte des Anfrageflusses werden im oberen Bereich der Transaktionszuordnung und der Schritte des Antwortflusses unten angezeigt.
  • Der Abschnitt Phasendetails des Tools enthält Informationen zur internen Verarbeitung des Proxys, einschließlich Variablen, die festgelegt oder gelesen wurden, Anfrage- und Antwortheader und vieles mehr. Klicken Sie auf ein beliebiges Symbol, um die Phasendetails für diesen Schritt aufzurufen.

Hier ist ein Beispiel einer Trace-Tool-Zuordnung mit Labels der wichtigsten Proxy-Verarbeitungssegmenten:

Transaktionskarte des Trace-Tools

Legende für die Transaktionskarte

In der folgenden Tabelle wird der Intent der Symbole beschrieben, die in der Transaktionszuordnung angezeigt werden. Diese Symbole markieren jeden der wichtigsten Verarbeitungsschritte während des Proxyablauf.

Symbol für Transaktionskarte

Die Client-App, die eine Anfrage an den ProxyEndpoint des API-Proxys sendet.
Die Kreise kennzeichnen Übergangsendpunkte im Proxy-Ablauf. Sie werden angezeigt, wenn eine Anfrage vom Client eingeht, wenn die Anfrage beim Ziel eingeht, wenn die Antwort vom Ziel eingeht und wenn die Antwort an den Client zurückgegeben wird.

Die hohen Balken kennzeichnen den Beginn eines Ablaufsegments im API-Proxy-Ablauf. Ablaufsegmente: ProxyEndpoint-Anfrage, TargetEndpoint-Anfrage, TargetEndpoint-Antwort und ProxyEndpoint-Antwort. Ein Segment enthält den PreFlow, ConditionalFlows und PostFlow.

Weitere Informationen finden Sie unter Abläufe konfigurieren.

Gibt an, dass Analytics-Aktionen im Hintergrund ausgeführt wurden.

Ein bedingter Ablauf, der mit „true“ ausgewertet wird. Eine Einführung in bedingte Abläufe finden Sie unter Abläufe konfigurieren.

Beachten Sie, dass einige Bedingungen Edge-generiert werden. Der folgende Ausdruck prüft von Edge beispielsweise, ob im ProxyEndpoint ein Fehler aufgetreten ist:

((error.state equals PROXY_REQ_FLOW) or (error.state equals PROXY_RESP_FLOW))

Ein bedingter Ablauf, der mit „false“ ausgewertet wird Eine Einführung zu bedingten Abläufen finden Sie unter Abläufe konfigurieren.

Beachten Sie, dass einige Bedingungen Edge-generiert werden. Der folgende Ausdruck prüft von Edge beispielsweise, ob ein Fehler im TargetEndpoint aufgetreten ist:

(((error.state equals TARGET_REQ_FLOW) or (error.state equals TARGET_RESP_FLOW)) or ((error.state equals REQ_SENT) or (error.state equals RESP_START)))

Richtlinien Jeder Richtlinientyp hat ein eindeutiges Symbol. Dieses ist für die Richtlinie „AssignMessage“. Mit diesen Symbolen können Sie nachvollziehen, wo Richtlinien in der richtigen Reihenfolge ausgeführt werden und ob sie erfolgreich sind. Sie können auf ein Richtliniensymbol klicken, um die Ergebnisse der Ausführung aufzurufen und zu sehen, ob sie erwartet werden oder nicht. Sie können beispielsweise sehen, ob die Nachricht richtig umgewandelt wurde oder ob sie im Cache gespeichert wird.

Die ordnungsgemäße Ausführung von Richtlinien ist deutlich durch Häkchen gekennzeichnet. Im Falle eines Fehlers wird auf dem Symbol ein rotes Ausrufezeichen angezeigt.

Tipp: Achten Sie auf die Kurzinfo oder die Zeitleiste, um zu sehen, ob eine Richtlinie länger als erwartet dauert.

Wird angezeigt, wenn das Back-End-Ziel eine Node.js-Anwendung ist. Siehe Übersicht über Node.js in Apigee Edge.
Das vom API-Proxy aufgerufene Backend-Ziel.
Die Zeitangabe gibt an, wie lange die Verarbeitungszeit in Millisekunden dauert. Durch den Vergleich der verstrichenen Zeitsegmente können Sie die Richtlinien ermitteln, deren Ausführung am längsten dauert und die API-Aufrufe verlangsamen.
Das Epsilon ist ein Zeitraum, der kleiner als eine Millisekunde ist.

Deaktiviert. Erscheint bei einem Richtliniensymbol, wenn eine Richtlinie deaktiviert ist. Richtlinien können mit der öffentlichen API deaktiviert werden. Siehe API-Proxy-Konfigurationsreferenz.

Fehler. Erscheint bei einem Richtliniensymbol, wenn die Bedingung des Richtlinienschritts als falsch ausgewertet wird (siehe Ablaufvariablen und -bedingungen) oder das BoostFault-Richtliniensymbol, wenn eine BoostFault-Richtlinie ausgeführt wird.
Übersprungen. Erscheint in einem Richtliniensymbol, wenn die Richtlinie nicht ausgeführt wurde, da die Schrittbedingung als „false“ ausgewertet wurde. Weitere Informationen finden Sie unter Ablaufvariablen und Bedingungen.

Phasendetails verstehen

Der Teil Phasendetails des Tools teilt Ihnen mit jedem Verarbeitungsschritt viel über den Status Ihres Proxys mit. Im Folgenden finden Sie einige Details, die in den Phasendetails angegeben werden. Klicken Sie auf ein beliebiges Symbol im Trace-Tool, um Details für den ausgewählten Schritt anzuzeigen. Mit den Schaltflächen Weiter und Zurück können Sie von einem Schritt zu einem anderen wechseln.

Phasendetails Beschreibung
Proxy-Endpunkt Gibt an, welcher ProxyEndpoint-Ablauf für die Ausführung ausgewählt wurde. Ein API-Proxy kann mehrere benannte Proxy-Endpunkte haben.
Variablen

Listet die Flussvariablen auf, die von einer Richtlinie gelesen und einem Wert zugewiesen wurden, siehe auch Proxystatus mit Flussvariablen verwalten.

Hinweise:

  • Ein Gleichheitszeichen (=) gibt den Wert an, der der Variable zugewiesen wurde.
  • Ein durchgestrichenes Gleichheitszeichen (≠) gibt an, dass der Variable kein Wert zugewiesen werden konnte, da sie schreibgeschützt ist oder ein Fehler bei der Richtlinienausführung aufgetreten ist.
  • Ein leeres Feld gibt an, dass der Variablenwert gelesen wurde.
Anfrageheader Listet die HTTP-Anfrageheader auf.
Inhalt anfragen Zeigt den HTTP-Anfragetext an.
Attribute Attribute stellen den internen Status des API-Proxys dar. Diese werden nicht standardmäßig angezeigt.
Zielendpunkt Gibt an, welcher TargetEndpoint für die Ausführung ausgewählt wurde.
Antwortheader Listet die HTTP-Antwortheader auf.
Antwortinhalt Zeigt den HTTP-Antworttext an.
PostClientFlow Zeigt Informationen zum PostClientFlow an, der nach der Anfrage an die anfragende Clientanwendung ausgeführt wird. Nur MessageLogging-Richtlinien können an den PostClientFlow angehängt werden. Der PostClientFlow wird derzeit hauptsächlich zum Messen des Zeitintervalls zwischen den Start- und Endzeitstempeln für die Antwortnachricht verwendet.

Nachrichtenerfassung mithilfe von Filtern optimieren

Sie können filtern, welche Anfragen im Trace-Tool angezeigt werden, indem Sie Header- und/oder Abfrageparameterwerte angeben. Mit Filtern können Sie Anzeigen auf bestimmte Aufrufe ausrichten, die möglicherweise Probleme verursachen. So kann es beispielsweise sein, dass du Anfragen mit bestimmten Inhalten oder Anfragen von bestimmten Partnern oder Apps direkt im Blick behalten musst. Sie können nach folgenden Kriterien filtern:

  • HTTP-Header – Beschränken Sie den Trace auf Aufrufe, die einen bestimmten Header enthalten. Dies ist eine gute Hilfe bei der Behebung von Problemen. Du kannst einen Header an den App-Entwickler senden und ihn bitten, ihn in den Aufruf aufzunehmen, der Probleme verursacht. Anschließend zeichnet Apigee Edge nur Aufrufe mit diesem spezifischen Header auf, damit Sie die Ergebnisse untersuchen können.
  • Abfrageparameter: Nur Aufrufe mit einem bestimmten Wert eines Parameters werden aufgezeichnet.

Wissenswertes zur Filterfunktion

  • Nachdem Sie in den Filterfeldern Filterparameter angegeben haben, müssen Sie die Trace-Sitzung neu starten.
  • Filterparameter werden durch UND miteinander verbunden. Für eine erfolgreiche Übereinstimmung müssen alle angegebenen Paare aus Abfrage und/oder Header-Name/Wert in der Anfrage vorhanden sein.
  • Der Musterabgleich wird im Filtertool nicht unterstützt.
  • Bei Filterparametern und -werten wird zwischen Groß- und Kleinschreibung unterschieden.

Trace-Filter erstellen

  1. Wenn eine Trace-Sitzung ausgeführt wird, beenden Sie sie durch Klicken auf Trace-Sitzung beenden.
  2. Klicken Sie links oben im Trace-Tool auf Filter, um das Feld "Filter" zu maximieren.

    Im Trace-Tool ist das Label der Seitenleiste „Filter“ eingekreist.
  3. Geben Sie im Feld „Filter“ die Abfrageparameter und/oder Headerwerte an, nach denen gefiltert werden soll. In diesem Beispiel geben wir zwei Suchparameter an, nach denen gefiltert werden soll. Für eine erfolgreiche Übereinstimmung müssen beide Parameter in der Anfrage vorhanden sein.

    Im Trace-Tool werden unter "Filter" und "Abfrageparameter" zwei Beispielnamen und -werte festgelegt.
  4. Starten Sie die Trace-Sitzung.
  5. APIs aufrufen Nur Anfragen, die alle angegebenen Header und/oder Abfrageparameter enthalten, führen zu einer erfolgreichen Übereinstimmung.

Unter Transaktionen werden vier Ergebnisse angezeigt, die mit zwei voreingestellten Suchparametern übereinstimmen.

Im obigen Beispiel wird dieser API-Aufruf in Trace angezeigt:

http://docs-test.apigee.net/cats?name=Penny&breed=Calico

Dies hat jedoch keinen Einfluss auf:

http://docs-test.apigee.net/cats?name=Penny

Fehlerbehebung mit Trace

Mit Trace können Sie viele interne Details zu einem API-Proxy sehen. Beispiel:

  • Sie können auf einen Blick sehen, welche Richtlinien ordnungsgemäß ausgeführt werden oder fehlschlagen.
  • Angenommen, Sie haben in einem der Analytics-Dashboards festgestellt, dass die Leistung einer Ihrer APIs ungewöhnlich zurückgegangen ist. Jetzt können Sie mithilfe von Trace ermitteln, wo der Engpass auftritt. Trace gibt die Zeit in Millisekunden an, die jede einzelne Verarbeitungszeit benötigt. Wenn die Ausführung eines Schritts zu lange dauert, können Sie entsprechende Korrekturen vornehmen.
  • Anhand der Phasendetails können Sie Header überprüfen, die an das Back-End gesendet werden, von Richtlinien festgelegte Variablen usw. anzeigen.
  • Anhand des Basispfads können Sie prüfen, ob eine Richtlinie die Nachricht an den richtigen Server weiterleitet.

Ansichtsoptionen auswählen

Wählen Sie die Ansichtsoptionen für die Trace-Sitzung aus.

Option Beschreibung
Deaktivierte Richtlinien einblenden. Deaktivierte Richtlinien anzeigen Richtlinien können mit der öffentlichen API deaktiviert werden. Siehe API-Proxy-Konfigurationsreferenz.
Übersprungene Phasen einblenden Sie können alle übersprungenen Phasen einblenden. Eine übersprungene Phase tritt auf, wenn die Richtlinie nicht ausgeführt wurde, da die Schrittbedingung als „false“ ausgewertet wurde. Weitere Informationen finden Sie unter Ablaufvariablen und Bedingungen.
Alle FlowInfos einblenden Übergänge innerhalb eines Ablaufsegments darstellen.
Ausgewählte Phase automatisch vergleichen Vergleicht die ausgewählte Phase mit der vorherigen. Deaktivieren Sie diese Option, damit nur die ausgewählte Phase angezeigt wird.
Variablen anzeigen Variablen anzeigen, die gelesen und/oder denen ein Wert zugewiesen wurde.
Attribute ansehen Attribute stellen den internen Status des API-Proxys dar. (Standardmäßig ausgeblendet.)

Trace-Ergebnisse werden heruntergeladen

Sie können eine XML-Datei mit Trace-Rohergebnissen herunterladen, um sie offline in einem Texteditor anzusehen und zu suchen. Die Datei enthält alle Details der wartenden Sitzung, einschließlich des Inhalts aller Header, Variablen und Richtlinien.

Klicken Sie zum Herunterladen auf Download Trace Session.

Anfragen als „curl“ anzeigen

Nachdem Sie einen API-Aufruf an einen Zielserver verfolgt haben, können Sie die Anfrage als curl-Befehl ansehen. Dies ist aus mehreren Gründen besonders nützlich für die Fehlerbehebung:

  • Der API-Proxy kann die Anfrage ändern. Daher ist es hilfreich zu prüfen, wie sich die Anfrage vom Proxy an den Zielserver von der ursprünglichen Anfrage unterscheidet. Der Befehl „curl“ stellt die geänderte Anfrage dar.
  • Bei größeren Nachrichtennutzlasten ermöglicht Ihnen der curl-Befehl, die HTTP-Header und den Nachrichteninhalt an einem einzigen Ort zu sehen. Derzeit gilt eine Beschränkung von ca. 1000 Zeichen. Einen Tipp zum Überschreiten dieser Grenze findest du in diesem Communitybeitrag.

Aus Sicherheitsgründen maskiert die curl-Funktion den HTTP-Autorisierungsheader.

Wenn Anfragen als curl angezeigt werden sollen, nachdem ein API-Aufruf in Trace empfangen wurde, wählen Sie im Diagramm der Transaktionszuordnung die Phase „Anfrage an Zielserver gesendet“ aus und klicken Sie dann im Bereich „Phasendetails“ in der Spalte „Anfrage an Zielserver gesendet“ auf die Schaltfläche curl anzeigen.

Bildanmerkungen zeigen die Schaltfläche „Curl anzeigen“ und einen der Kreise im Diagramm der Transaktionskarte.

Verwendung des Apigee-Supports von Trace

Mit Apigee Edge kann der Apigee-Support standardmäßig das Trace-Tool auf Ihren API-Proxys verwenden, um Support zu bieten. Sie können diese Option jederzeit deaktivieren. Wenn Sie diese Option jedoch deaktivieren, ist der Support des Apigee-Supports eingeschränkt.

So deaktivieren Sie den Apigee-Support daran, das Trace-Tool zu verwenden:

  1. Melden Sie sich unter https://apigee.com/edge an.
  2. Wählen Sie in der linken Navigationsleiste Verwaltung > Datenschutz aus.
  3. Klicken Sie auf die Ein-/Aus-Schaltfläche Apigee-Support aktivieren , um die Verwendung des Trace-Tools durch den Apigee-Support zu deaktivieren.