Usare lo strumento Traccia

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

Che cos'è lo strumento Trace?

Trace è uno strumento per la risoluzione dei problemi e il monitoraggio dei proxy API in esecuzione su Apigee Edge. Traccia consente di verificare i dettagli di ogni passaggio attraverso un flusso proxy API.

Guarda questo video per un'introduzione allo strumento Trace.

Come utilizzare Trace

Trace è semplice da usare. Avvia una sessione di traccia, quindi effettui una chiamata API alla piattaforma Edge, e leggere i risultati.

  1. Accedi alla pagina dei proxy API, come descritto di seguito.

    Edge

    Per accedere alla pagina dei proxy API utilizzando la UI Edge:

    1. Accedi a apigee.com/edge.
    2. Seleziona Sviluppo > Proxy API nella barra di navigazione a sinistra.

    Perimetrale classico (Private Cloud)

    Per accedere alla pagina dei proxy API utilizzando la UI di Edge classica:

    1. Accedi a http://ms-ip:9000, dove ms-ip è Indirizzo IP o nome DNS del nodo del server di gestione.
    2. Seleziona API > Proxy API nella barra di navigazione superiore.
  2. Seleziona un proxy API dalla pagina Proxy API.
  3. Assicurati che sia stato eseguito il deployment dell'API che vuoi tracciare.
  4. Fai clic su Trace per accedere alla visualizzazione dello strumento Trace.
  5. Utilizza il menu a discesa Deployment di cui tracciare per selezionare le proprietà dell'ambiente di deployment e della revisione del proxy che desideri tracciare.
  6. Fai clic su Start Trace Session (Avvia sessione di traccia). Quando la sessione Trace è attiva, il proxy API registra i dettagli di ogni passaggio nella pipeline di elaborazione. Mentre la sessione di Trace è in esecuzione, i messaggi e i dati contestuali vengono acquisiti dal traffico in tempo reale.

  7. Se il tuo proxy non trasmette traffico in tempo reale, invia una richiesta all'API. Puoi utilizzare qualsiasi strumento desideri inviare la richiesta, ad esempio curl, Postman o strumento che già conosci. In alternativa, puoi inviare la richiesta direttamente dallo strumento Trace. Inserisci l'URL e fai clic su Invia. Nota: puoi inviare una richiesta GET solo da lo strumento Trace, ma non una richiesta POST.

    Nota: la sessione One Trace può supportare 10 transazioni di richiesta/risposta per tramite il proxy API selezionato. Nel cloud perimetrale, con 2 processori di messaggi per gestire il traffico, sono supportate 20 transazioni di richiesta/risposta. Viene eseguita automaticamente una sessione di traccia si arresta dopo 10 minuti se non lo interrompi manualmente.
  8. Dopo aver acquisito un numero sufficiente di richieste, fai clic su Arresta traccia. Sessione.
  9. Nel menu a sinistra viene visualizzato un elenco delle transazioni di richiesta/risposta acquisite. Fai clic su uno di le transazioni per vedere risultati dettagliati.

Come leggere una traccia

Lo strumento Traccia è costituito da due parti principali, la mappa delle transazioni e i dettagli delle fasi:

  • La mappa delle transazioni utilizza icone per contrassegnare ogni elemento degno di nota passaggio che si verifica durante una transazione proxy API, inclusa l'esecuzione della norma, le passaggi e transizioni. Passa il mouse sopra qualsiasi icona per visualizzare il riepilogo informazioni. I passaggi del flusso di richiesta vengono visualizzati nella parte superiore della mappa delle transazioni e della risposta passi del flusso lungo la parte inferiore.
  • La sezione Dettagli fase dello strumento elenca informazioni sull'elaborazione interna del proxy, incluse le variabili impostate o lette, intestazioni di richiesta e risposta e molto altro ancora. Fai clic su un'icona per visualizzare dettagli della fase per quel passaggio.

Ecco una mappa di esempio dello strumento di tracciamento con i segmenti di elaborazione proxy principali etichettati:

Mappa transazioni dello strumento Trace

Mappa transazioni legenda

La seguente tabella descrive lo scopo delle icone che vedrai nella transazione mappa. Queste icone contrassegnano ciascuno dei passaggi di elaborazione più importanti nell'intero flusso di proxy.

Icone della mappa delle transazioni

L'app client che invia una richiesta al ProxyEndpoint del proxy API.
I cerchi indicano gli endpoint di transizione nel flusso proxy. Sono disponibili quando una richiesta arriva dal client, quando la richiesta arriva al target, quando la risposta torna indietro dal target e quando la risposta arriva al client.

Le barre alte indicano l'inizio di un segmento di flusso nel flusso proxy API. Flusso sono: richiesta ProxyEndpoint, richiesta TargetEndpoint, risposta TargetEndpoint e Risposta ProxyEndpoint. Un segmento include PreFlow, i flussi condizionali e PostFlow.

Consulta Configurazione dei flussi per ulteriori informazioni.

Indica che le azioni di Analytics si sono verificate in background.

Un flusso condizionale che restituisce come valore true. Per un'introduzione ai flussi condizionali, consulta Configurazione dei flussi.

Tieni presente che alcune condizioni sono generate da Edge. Ad esempio, di seguito è riportato un utilizzata da Edge per verificare se si è verificato un errore nella Endpoint proxy:

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

Un flusso condizionale che restituisce un valore false. Per un'introduzione alle consulta Configurazione dei flussi.

Tieni presente che alcune condizioni sono generate da Edge. Ad esempio, di seguito è riportato un utilizzata da Edge per verificare se si è verificato un errore nella Endpoint di destinazione:

(((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)))

Norme. Ogni tipo di criterio ha un'icona univoca. Questa è per AttributionMessage . Queste icone ti consentono di vedere dove le norme vengono eseguite nell'ordine corretto e se hanno successo o meno. Puoi fare clic sull'icona di una norma per visualizzarne i risultati e se sono previste o meno. Ad esempio, puoi vedere se il messaggio è stato trasformate correttamente o se vengono memorizzate nella cache.

La corretta esecuzione dei criteri è indicata chiaramente segni di spunta. In caso di errore, viene visualizzato un punto esclamativo rosso sulla .

Suggerimento: presta attenzione alla descrizione comando o alla sequenza temporale per verificare se sono presenti norme più tempo del previsto.

Visualizzato quando la destinazione del backend è un'applicazione Node.js. Consulta Panoramica di Node.js su Apigee Edge.
La destinazione backend chiamata dal proxy API.
La linea di tempo indica il tempo (in millisecondi) impiegato dal tempo di elaborazione completato. Il confronto dei segmenti di tempo trascorso aiuta a isolare i criteri che impiegano più tempo per l'esecuzione, che rallentano le chiamate API.
L'epsilon indica un intervallo di tempo inferiore a un millisecondo.

Disabilitata. Viene visualizzata sull'icona di un criterio quando un criterio viene disattivato. Un criterio può essere disattivato con l'API pubblica. Consulta Riferimento per la configurazione dei proxy API.

Errore. Viene visualizzata su un'icona del criterio quando la condizione del passaggio della norma è false (consulta Variabili e condizioni di flusso), o sull'icona del criterio RaiseFault ogni volta che viene eseguito un criterio RaiseFault.
Ignorata. Viene visualizzata su un'icona del criterio quando il criterio non è stato eseguito perché il passaggio condizione valutata su false. Consulta Variabili e condizioni di flusso per ulteriori informazioni.

Comprensione i dettagli della fase

La sezione Dettagli fase dello strumento fornisce molte informazioni sullo stato proxy in ogni fase di elaborazione. Di seguito sono riportati alcuni dettagli forniti nella sezione Dettagli della fase. Clic qualsiasi icona nello strumento di traccia per visualizzare i dettagli del passaggio selezionato, oppure utilizza Pulsanti Avanti/Indietro per passare da un passaggio all'altro.

Dettagli della fase Descrizione
Endpoint proxy Indica il flusso ProxyEndpoint selezionato per l'esecuzione. Un proxy API può avere più endpoint proxy denominati.
Variabili

Elenca le variabili di flusso che sono state lette e a cui è stato assegnato un valore da un criterio. Vedi Consulta anche la sezione Gestire lo stato del proxy con le variabili di flusso.

Nota:

  • Un segno di uguale (=) indica il valore assegnato alla variabile.
  • Un segno di uguale barrato (≠) indica che non è stato possibile assegnare alla variabile un perché è di sola lettura o si è verificato un errore nell'esecuzione del criterio.
  • Un campo vuoto indica che il valore della variabile è stato letto.
Intestazioni richiesta Elenca le intestazioni della richiesta HTTP.
Richiedi contenuti Mostra il corpo della richiesta HTTP.
Proprietà Le proprietà rappresentano lo stato interno del proxy API. Questi non vengono mostrati da predefinito.
Endpoint di destinazione Indica quale TargetEndpoint è stato selezionato per l'esecuzione.
Intestazioni della risposta Elenca le intestazioni delle risposte HTTP.
Contenuto della risposta Mostra il corpo della risposta HTTP.
PostClientFlow Mostra le informazioni su PostClientFlow, che viene eseguito dopo che la richiesta è all'app client richiedente. Solo i criteri MessageLogging possono essere collegati PostClientFlow. PostClientFlow viene attualmente utilizzato principalmente per misurare il tempo l'intervallo tra i timestamp di inizio e di fine del messaggio di risposta.

Perfezionamento dell'acquisizione dei messaggi con i filtri

Puoi filtrare le richieste da visualizzare nello strumento Trace specificando l'intestazione e/o la query i valori dei parametri. I filtri ti consentono di scegliere come target chiamate specifiche che potrebbero causare problemi. Ad esempio, potresti doverti concentrare sulle richieste che hanno contenuti specifici o richieste in arrivo di app o partner specifici. Puoi applicare un filtro in base a:

  • Intestazioni HTTP: limita la traccia alle sole chiamate contenenti un indirizzo intestazione. È un buon metodo per aiutarti a risolvere i problemi. Puoi inviare un'intestazione al tuo sviluppatore di app e chiedigli di includerla nella chiamata che causa i problemi. Apigee Edge registrerà solo le chiamate con quell'intestazione specifica per consentirti di esaminare i risultati.
  • Parametri di query: solo le chiamate con un valore specifico di un parametro verrà registrato.

Informazioni importanti sulla funzionalità Filtro

  • Devi riavviare la sessione Trace dopo aver specificato i parametri di filtro nel filtro campi.
  • I parametri del filtro sono collegati tramite AND. Tutte le coppie di nome/valore di query e/o intestazione specificate devono essere presenti nella richiesta per una corrispondenza riuscita.
  • La corrispondenza dei pattern non è supportata nello strumento Filtri.
  • I parametri e i valori del filtro sono sensibili alle maiuscole.

Come creare una traccia filtro

  1. Se è in esecuzione una sessione di traccia, interrompila facendo clic su Interrompi traccia Sessione.
  2. Fai clic su Filtri nell'angolo in alto a sinistra dello strumento Trace per espandere la Filtri.

    Nello strumento Trace, l'etichetta della barra laterale Filtri è cerchiata.
  3. Nel campo Filtri, specifica il parametro di query e/o i valori dell'intestazione da filtrare. attiva. In questo esempio, specifichiamo due parametri di query in base ai quali applicare il filtro. Entrambi i parametri devono essere per una corrispondenza corretta.

    Nello strumento Trace, in Filtri, in Parametro di query, due nomi e valori di esempio
     sono già impostati.
  4. Avvia la sessione di traccia.
  5. Chiama le tue API. Solo le richieste che includono tutte le intestazioni e/o query specificate che generano una corrispondenza corretta.

In Transazioni, vengono visualizzati quattro risultati che corrispondono a due parametri di query preimpostati.

Nell'esempio precedente, questa chiamata API verrà visualizzata in Trace:

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

Tuttavia, con questa operazione:

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

Debug con Trace

Trace consente di visualizzare molti dettagli interni su un proxy API. Ad esempio:

  • Puoi vedere a colpo d'occhio quali criteri vengono eseguiti correttamente o non funzionano.
  • Supponiamo che tu abbia notato in una delle dashboard di Analytics che una delle tue API aver riscontrato una riduzione insolita delle prestazioni. Ora puoi utilizzare Trace per identificare si sta verificando il collo di bottiglia. Trace fornisce il tempo, in millisecondi, necessario per ogni fase di elaborazione. Se noti che un passo sta richiedendo troppo tempo, puoi adottare un'azione.
  • Osservando i dettagli della fase, puoi controllare le intestazioni che vengono inviate al backend, visualizzare le variabili impostate in base ai criteri e così via.
  • Verificando il percorso di base, puoi assicurarti che un criterio invii il messaggio all'indirizzo corretto o server web.

Selezione delle opzioni di visualizzazione

Scegli le opzioni di visualizzazione per la sessione di traccia.

Opzione Descrizione
Mostra norme disattivate Mostra i criteri disattivati. Un criterio può essere disabilitato con l'API pubblica. Consulta Riferimento per la configurazione dei proxy API.
Mostra fasi ignorate Mostra le fasi ignorate. Si verifica una fase saltata quando il criterio non è stato eseguito perché la condizione del passaggio è stata valutata come false. Consulta Variabili e condizioni di flusso per ulteriori informazioni.
Mostra tutte le FlowInfo Rappresentare le transizioni all'interno di un segmento di flusso.
Confronta automaticamente la fase selezionata Confronta la fase selezionata con quella precedente. Disattiva questa opzione per vedere solo le selezioni durante la fase di sviluppo.
Mostra variabili Mostra o nascondi le variabili lette e/o a cui è stato assegnato un valore.
Mostra proprietà Le proprietà rappresentano lo stato interno del proxy API. (nascosto per impostazione predefinita).

Download dei risultati della traccia in corso...

Puoi scaricare un file XML con i risultati della traccia non elaborata per visualizzarli e cercare offline in un testo editor. Il file mostra i dettagli completi della sessione di ascolto, inclusi i contenuti del tutte le intestazioni, le variabili e i criteri.

Per eseguire il download, fai clic su Scarica sessione di traccia.

Visualizzazione delle richieste come curl

Dopo aver tracciato una chiamata API effettuata a un server di destinazione, puoi visualizzare la richiesta come curl . Ciò è particolarmente utile per il debug per due motivi:

  • Il proxy API potrebbe modificare la richiesta, quindi è utile vedere in che modo la richiesta dal proxy se il server di destinazione è diverso dalla richiesta originale. Il comando curl rappresenta il modello richiesta.
  • Per payload di messaggi più grandi, curl consente di vedere le intestazioni HTTP e i messaggi. contenuti in un unico posto. Al momento esiste un limite di circa 1000 caratteri. Per un suggerimento oltre questo limite, vedi questo post della scheda Community.)

Per motivi di sicurezza, la funzionalità curl maschera l'intestazione dell'autorizzazione HTTP.

Per visualizzare le richieste come curl dopo che arriva una chiamata API in Trace, seleziona il pulsante server di destinazione" nel diagramma Mappa transazioni, quindi fai clic su Mostra curl su "Richiesta inviata al server di destinazione" nel riquadro Dettagli fase.

Le annotazioni dell'immagine indicano il pulsante Mostra Curl e uno dei cerchi nella
    Diagramma della mappa delle transazioni.

Utilizzo di Trace da parte dell'assistenza Apigee

By default, Apigee Edge allows Apigee Support to use the Trace tool on your API proxies to provide support. You may disable this option at any time. However, disabling this option may limit Apigee Support's ability to provide you with support.

To disable Apigee Support from using the Trace tool:

  1. Sign in to https://apigee.com/edge.
  2. Select Admin > Privacy & Security in the left navigation bar.
  3. Click the Enable Apigee Support to Trace toggle to disable use of the Trace tool by Apigee Support.