Trace-Tool verwenden

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie 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. Nachverfolgen ermöglicht es Ihnen, die Details jedes Schritts über einen API-Proxy-Ablauf zu prüfen.

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

Trace verwenden

Trace ist einfach zu bedienen. Sie starten eine Ablaufverfolgungssitzung, tätigen dann einen API-Aufruf an die Edge-Plattform, und die Ergebnisse lesen.

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

    Edge

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

    1. Melden Sie sich bei 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 der API-Proxys zu:

    1. Melden Sie sich in http://ms-ip:9000 an. ms-ip ist hierbei IP-Adresse oder DNS-Name des Verwaltungsserverknotens.
    2. Wählen Sie APIs > API-Proxys.
  2. Wählen Sie auf der Seite API-Proxies 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 aus, welche Bereitstellungsumgebung und Proxyversion, die Sie verfolgen möchten.
  6. Klicken Sie auf Trace-Sitzung starten. Wenn die Trace-Sitzung aktiv ist, zeichnet Details zu jedem Schritt in der Verarbeitungspipeline auf. Während die Trace-Sitzung läuft, Nachrichten und Kontextdaten aus dem Live-Traffic erfasst werden.

  7. Wenn kein Live-Traffic durch Ihren Proxy fließt, senden Sie einfach eine Anfrage. an die API senden. Sie können ein beliebiges Tool verwenden, mit dem Sie die Anfrage senden möchten, z. B. curl, Postman oder eines bekannten Tools. Sie können die Anfrage auch direkt über das Trace-Tool senden. Geben Sie einfach die URL und klicken Sie auf Senden. Hinweis:GET-Anfragen können nur über das Trace-Tool, aber keine POST-Anfrage.

    Hinweis: Eine Trace-Sitzung unterstützt 10 Anfrage-/Antworttransaktionen pro Message Processor durch den ausgewählten API-Proxy. In Edge Cloud mit 2 Nachrichtenprozessoren werden 20 Anfrage-/Antworttransaktionen unterstützt. Automatisch eine Trace-Sitzung stoppt nach 10 Minuten, wenn Sie ihn nicht manuell beenden.
  8. Wenn Sie eine ausreichende Anzahl von Anfragen erfasst haben, klicken Sie auf Trace anhalten Sitzung.
  9. Im Menü auf der linken Seite wird eine Liste der erfassten Anfrage-/Antworttransaktionen angezeigt. Klicken Sie auf eine der folgenden um detaillierte Ergebnisse anzuzeigen.

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 Clientanwendung, 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 kantengeneriert sind. Das folgende Beispiel ist ein Ausdruck, den Edge verwendet, um zu prüfen, ob ein Fehler im ProxyEndpoint:

((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 kantengeneriert sind. Das folgende Beispiel ist ein Ausdruck, den Edge verwendet, um zu prüfen, ob ein Fehler im TargetEndpoint:

(((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 wird Häkchen setzen. Sollte ein Fehler auftreten, erscheint auf der Seite ein rotes Ausrufezeichen. Symbol.

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

Wird angezeigt, wenn das Back-End-Ziel eine Node.js-Anwendung ist. Weitere Informationen finden Sie unter Ü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 gelesen und von einer Richtlinie ein Wert zugewiesen wurden. Siehe auch Proxystatus mit Flussvariablen verwalten

Hinweis:

  • 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.
Eigenschaften 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 mit Filtern optimieren

Sie können filtern, welche Anfragen im Trace-Tool angezeigt werden, indem Sie einen Header und/oder eine Abfrage angeben Parameterwerte festlegen. Mit Filtern können Sie Anzeigen auf bestimmte Aufrufe ausrichten, die Probleme verursachen können. Es kann beispielsweise sein, dass Sie sich auf Anfragen mit bestimmten Inhalten oder Anfragen konzentrieren müssen. von bestimmten Partnern oder Apps. Sie können nach folgenden Kriterien filtern:

  • HTTP-Header – Beschränken Sie den Trace auf Aufrufe, die eine bestimmte Header. Dies ist eine gute Möglichkeit, Probleme zu beheben. Sie können einen Header an Ihre App-Entwickler und bitten Sie ihn, diese in den fraglichen Aufruf aufzunehmen. Dann Apigee Edge zeichnet nur Anrufe mit diesem spezifischen Header auf, damit Sie die Ergebnisse überprüfen können.
  • Suchparameter: Nur Aufrufe mit einem bestimmten Wert eines Parameters. wird aufgezeichnet.

Wissenswertes über die Filterfunktion

  • Sie müssen die Trace-Sitzung neu starten, nachdem Sie Filterparameter im Filter angegeben haben .
  • Filterparameter werden durch UND verbunden. Alle angegebenen Abfrage- und/oder Headername/Wert-Paare müssen in der Anfrage für eine erfolgreiche Zuordnung enthalten sein.
  • Der Musterabgleich wird im Filtertool nicht unterstützt.
  • Bei Filterparametern und -werten wird zwischen Groß- und Kleinschreibung unterschieden.

Trace erstellen Filter

  1. Wenn eine Trace-Sitzung ausgeführt wird, beenden Sie sie durch Klicken auf Trace anhalten Sitzung.
  2. Klicken Sie oben links im Trace-Tool auf Filter, um Filter ein.

    Im Trace-Tool ist das Label der Filterleiste eingekreist.
  3. Geben Sie im Feld Filter die Suchparameter und/oder Headerwerte an, die gefiltert werden sollen. aktiviert. In diesem Beispiel geben wir zwei Suchparameter an, nach denen gefiltert werden soll. Beide Parameter müssen die in der Anfrage für einen erfolgreichen Abgleich vorhanden sind.

    Im Trace-Tool finden Sie unter „Filter“ unter „Abfrageparameter“ zwei Beispielnamen und -werte.
     festgelegt sind.
  4. Starten Sie die Ablaufverfolgungssitzung.
  5. APIs aufrufen Nur Anfragen, die alle angegebenen Header und/oder Suchanfragen enthalten Parameter führen zu einer erfolgreichen Übereinstimmung.

Unter Transaktionen werden vier Ergebnisse angezeigt, die zwei voreingestellten Suchparametern entsprechen.

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

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

Das bedeutet jedoch nicht, dass:

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.
  • In den Phasendetails können Sie die Header überprüfen, die an das Back-End gesendet werden, Variablen, die durch Richtlinien festgelegt wurden, 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 Roh-Trace-Ergebnissen herunterladen, um diese offline in einem Text anzusehen und zu suchen Editor. Die Datei enthält alle Details der Hörsitzung, einschließlich des Inhalts der alle Header, Variablen und Richtlinien.

Klicken Sie zum Herunterladen auf Trace-Sitzung herunterladen.

Anfragen als „curl“ anzeigen

Nachdem Sie einen API-Aufruf an einen Zielserver verfolgt haben, können Sie die Anfrage als curl-Datei 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 sehen, wie die Anfrage vom Proxy an weicht der Zielserver von der ursprünglichen Anfrage ab. Der Befehl „curl“ stellt den geänderten
  • Bei größeren Nachrichtennutzlasten können Sie mit dem curl-Befehl die HTTP-Header und an einem zentralen Ort. Derzeit gilt eine Beschränkung von etwa 1000 Zeichen. Für einen Tipp diese Beschränkung überschreiten, finden Sie diesem Communitybeitrag).

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

Damit Anfragen nach dem Eingang eines API-Aufrufs in Trace als curl angezeigt werden, wählen Sie die Option „Anfrage gesendet an Zielserver“ im Transaktionszuordnungsdiagramm aus und klicken Sie dann auf die Schaltfläche Curl anzeigen Schaltfläche auf der Seite „Anfrage an Zielserver gesendet“ im Bereich „Phase Details“ (Phasendetails) angezeigt.

Bildanmerkungen weisen auf die Schaltfläche „Curl anzeigen“ und einen der Kreise im
    Diagramm einer Transaktionszuordnung

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.