Panoramica sull'analisi delle API

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Questo argomento introduce Edge API Analytics.

Video: guarda un breve video per una panoramica dei servizi di Edge API Analytics.

Migliorare l'API tramite l'analisi

Edge API Analytics raccoglie e calcola una grande quantità di informazioni che transitano attraverso i proxy API. Puoi visualizzare questi dati con grafici e diagrammi nell'interfaccia utente di Edge oppure scaricare i dati non elaborati per l'analisi offline utilizzando le API di gestione di Edge.

L'analisi ti aiuta a rispondere a domande comuni, ad esempio:

  • Qual è l'andamento del traffico API nel tempo?
  • Quali metodi API sono più utilizzati?
  • Chi sono i miei sviluppatori più importanti?
  • Quando il tempo di risposta dell'API è più veloce? Più lento?
  • A livello geografico, dove vedo il maggior traffico API?

Le risposte a domande come queste ti aiutano a migliorare le API, risolvere i problemi e prendere decisioni aziendali migliori relative al tuo programma API.

API Analytics aiuta tutti a migliorare

Grazie a un processo continuo di raccolta, analisi e visualizzazione dei dati, Edge API Analytics aiuta il team API a migliorare le proprie API e gli sviluppatori di app a migliorare le proprie app:

alt_text
  • Team API : il team API utilizza i sistemi interni per creare API interessanti. Il team API vuole sapere come sta andando il programma API in generale, come stanno andando le singole API, e come migliorarle.
  • Sviluppatori di app : condividendo le informazioni di analisi con gli sviluppatori di app, otterrai app migliori. Questi sviluppatori innovano con la tua API e creano app creative che aiutano a generare entrate per la tua azienda. L'analisi aiuta gli sviluppatori di app a sapere come stanno andando le loro app e quanto stanno contribuendo al risultato finale della tua azienda. Gli sviluppatori di app vogliono sapere come possono migliorare le loro app.
  • Team operativo : il team operativo vuole comprendere i pattern di traffico e prevedere quando aggiungere risorse di backend o apportare altre modifiche critiche.
  • Proprietario dell'attività : il proprietario dell'attività vuole vedere se il suo investimento API sta dando i suoi frutti e dove investire i dollari API in futuro.

Che tipo di dati vengono raccolti e analizzati?

Edge API Analytics raccoglie e analizza un'ampia gamma di dati che transitano attraverso i proxy API, ad esempio:

  • Data/ora della risposta
  • Latenza di richiesta
  • Dimensioni richiesta
  • Errori target
  • Nome del prodotto API
  • Indirizzo email dello sviluppatore
  • Nome dell'app
  • Molti altri

Per un elenco completo dei dati raccolti da API Analytics, consulta Riferimento per metriche, dimensioni e filtri di analisi.

Come faccio a raccogliere dati di analisi personalizzati?

Edge raccoglie in modo nativo una grande quantità di dati. Potresti anche voler raccogliere dati di analisi personalizzati specifici per i tuoi proxy API, app, prodotti o sviluppatori. Ad esempio, potresti voler raccogliere dati di analisi da parametri di query, intestazioni delle richieste, corpi delle richieste e delle risposte o variabili che definisci nelle tue API.

Per raccogliere dati di analisi personalizzati, utilizza il criterio StatisticsCollector. Una volta estratti i dati personalizzati, puoi utilizzare l'interfaccia utente o l'API di analisi per esaminarli. Per un esempio completo che illustra come raccogliere dati di analisi personalizzati, consulta Analizzare i contenuti dei messaggi API utilizzando l'analisi personalizzata.

Differenze tra i dati di Analytics e i dati di API Monitoring

Questa sezione descrive alcune piccole differenze tra i dati raccolti da Edge Analytics e API Monitoring. Poiché API Monitoring e Analytics utilizzano pipeline di dati diverse, potresti notare piccole differenze tra i report personalizzati generati da Monitoring e quelli generati da Analytics. Ad esempio, potresti notare discrepanze nei risultati segnalati per gli errori di timeout, sia i timeout del backend (codice di stato HTTP 504 nella richiesta) sia i timeout del client (codice di stato HTTP 499). Questi potrebbero essere visualizzati con il codice di stato 200 nei report personalizzati di Analytics, ma con il codice di stato 504 o 499 nei report personalizzati di Monitoring.

Quando e per quanto tempo sono disponibili i miei dati di analisi?

Esistono due intervalli di tempo che controllano quando e per quanto tempo puoi visualizzare i tuoi dati di analisi:

  • Intervallo di ritardo dei dati : dopo aver effettuato una chiamata a un proxy API, possono essere necessari fino a 10 minuti prima che i dati siano accessibili per la visualizzazione o tramite le chiamate API di gestione.
  • Conservazione dei dati - Il periodo di conservazione dei dati di Analytics dipende dal piano di abbonamento:
    • Standard: 30 giorni
    • Enterprise: 3 mesi
    • Enterprise Plus: 14 mesi
    Per ulteriori informazioni, consulta i prezzi di gestione delle API Apigee.

Come faccio ad accedere ai miei dati di analisi?

Edge API Analytics fornisce strumenti di visualizzazione dei dati integrati nell'interfaccia utente di Edge. Questi strumenti includono dashboard di analisi predefinite e report personalizzati che mostrano i dati in grafici e diagrammi e ti consentono di eseguire il drill-down per visualizzare i dati raggruppati in base a dimensioni diverse (ad esempio per proxy API, indirizzo IP o codice di stato HTTP).

Inoltre, puoi scaricare i dati di analisi utilizzando l'API di gestione di Edge. Una volta scaricati, puoi importarli nei tuoi strumenti di visualizzazione dei dati o nel tuo sistema di analisi.

Dashboard di analisi

L'interfaccia utente di Edge fornisce un insieme di dashboard predefinite che puoi utilizzare per visualizzare i dati di analisi. Ad esempio, le immagini seguenti mostrano la dashboard Rendimento del proxy:

Questa dashboard include grafici per:

  • Traffico totale : il numero totale di richieste API ricevute da Edge per un ambiente API in un'organizzazione.
  • Traffico riuscito : il numero totale di richieste che hanno generato una risposta riuscita. Le risposte di errore non vengono conteggiate.
  • Errori di traffico : il numero totale di tutte le richieste API non riuscite; ovvero la richiesta non fornisce una risposta. Il conteggio include sia gli errori del proxy (lato Apigee) sia gli errori target (i servizi di backend).
  • TPS medio : il numero medio di richieste API e risposte risultanti al secondo.

Le dashboard predefinite aggiuntive includono:

Per ulteriori informazioni su queste dashboard predefinite, consulta Utilizzare le dashboard di analisi.

Report personalizzati

I report personalizzati ti consentono di eseguire il drill-down in metriche API specifiche e visualizzare i dati esatti che vuoi vedere. Puoi creare un report personalizzato utilizzando i dati di analisi integrati in Edge o i dati di analisi personalizzati raccolti dal criterio StatisticsCollector.

Quando crei un report personalizzato, seleziona i dati che vuoi visualizzare (metriche), raggruppa i dati in modo significativo (dimensioni) e, facoltativamente, limita i dati restituiti in base a caratteristiche specifiche dei dati (filtraggio).

Puoi anche impostare il tipo di grafico visualizzato nel report personalizzato come grafico a colonne o a linee. Le immagini seguenti mostrano esempi di grafici per le transazioni al secondo raggruppate per proxy API:

  • Colonna: ogni proxy API è rappresentato da una colonna diversa:

    Grafico a colonne personalizzato

  • Riga: ogni proxy API è rappresentato da una riga diversa:

    Grafico a linee personalizzato

Per saperne di più, consulta Creare e gestire report personalizzati.

API Analytics

Utilizza l'API di gestione di Edge per scaricare i dati di analisi. Ad esempio, puoi utilizzare l'API per creare i tuoi strumenti di visualizzazione che puoi incorporare in portali o app personalizzate.

Ecco un esempio di chiamata API per recuperare i dati di analisi per i proxy API:

curl  https://api.enterprise.apigee.com/v1/o/org_name/environments/test/stats/apiproxy?"select=sum(message_count)&timeRange=6/24/2018%2000:00~6/24/2018%2023:59&timeUnit=hour" \
-u email:password

Questa chiamata restituisce:

  • La somma delle richieste (conteggio dei messaggi) per proxy API
  • Per un periodo di 24 ore
  • Raggruppate per ora

Il parametro di query timeRange specifica il periodo di tempo nel formato:

?timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM

Nota %20 prima di HH:MM. Il parametro timeRange richiede un carattere spazio con codifica URL prima di HH:MM o un carattere +, come in: MM/DD/YYYY+HH:MM~MM/DD/YYYY+HH:MM.

Per saperne di più, consulta Utilizzare le API delle metriche per misurare il rendimento del programma API.

Esportare i dati di analisi in Google Cloud

Puoi utilizzare l'API di gestione di Edge per esportare tutti i dati di analisi per un'intera giornata da Edge al tuo repository di dati, ad esempio Google Cloud Storage o BigQuery. Puoi quindi sfruttare le potenti funzionalità di query e machine learning offerte da Google Cloud BigQuery e TensorFlow per eseguire la tua analisi dei dati.

Per saperne di più, consulta Esportare i dati da Analytics.

Come faccio a condividere i dati con gli sviluppatori di app?

Se consideri gli sviluppatori di app come tuoi clienti, devi assicurarti che abbiano a disposizione gli strumenti e le informazioni per utilizzare al meglio la tua API.

alt_text

Gli sviluppatori di app non si preoccupano solo della qualità delle loro app, ma sono molto interessati alle tue API. I portali per gli sviluppatori basati su Drupal includono una pagina Rendimento dell'app facoltativa progettata per consentire agli sviluppatori di app di accedere a metriche importanti per le loro app. Questa pagina fornisce agli sviluppatori informazioni su:

  • Errori:quali errori API vengono visualizzati nella mia app?
  • Rendimento:l'API è lenta in questo momento? Quali metodi API sono in genere lenti o lenti al momento?
  • Disponibilità:l'API è attiva o inattiva in questo momento?
  • Quota:la tua API ha una quota? E, in qualità di sviluppatore di app, come sto andando contro la quota?

Per saperne di più, consulta:

Inoltre, puoi condividere l'analisi con i tuoi sviluppatori:

Come faccio a generare dati di analisi completi?

Cosa si intende per analisi completa? Ad esempio, puoi creare un proxy API e Edge raccoglierà i dati di analisi relativi a questo proxy. Ma cosa succede alle metriche per lo sviluppatore o l'app che ha chiamato il proxy API? Se Edge non sa chi ha effettuato una chiamata API, non può raccogliere questi dati.

Sono necessari alcuni passaggi per consentire a Edge di capire quali sviluppatori e quali app per sviluppatori chiamano i tuoi proxy API. Ecco un elenco di questi passaggi con link a informazioni più dettagliate:

  1. Crea uno o più prodotti API, ovvero un raggruppamento di proxy API insieme a un piano di servizio. Consulta Gestire i prodotti API.
  2. Registra gli sviluppatori di app con Edge. Consulta Registrare gli sviluppatori di app.
  3. Registra le app e genera chiavi API per i tuoi sviluppatori. Consulta Registrare le app e gestire le chiavi API.
  4. Aggiungi criteri di sicurezza ai proxy API che verificano le chiavi API e/o i token di sicurezza. Consulta i seguenti argomenti:criterio Verifica chiave API, criterio OAuthV2 e criterio Verifica JWT.
  5. Se utilizzi Edge Microgateway, assicurati di aver abilitato il plug-in di analisi (che è abilitato per impostazione predefinita). Se il plug-in di analisi è disabilitato, Edge Microgateway non invierà i dati di analisi a Edge Analytics.

Le seguenti esercitazioni ti guidano attraverso i passaggi necessari per visualizzare l'analisi per sviluppatori e app: Proteggere un'API richiedendo le chiavi API e Proteggere un'API con OAuth.

Confrontare API Analytics con API Monitoring

Puoi sfruttare sia Edge API Monitoring sia API Analytics. API Monitoring esamina i dati di analisi per fornire insight contestuali in tempo reale sul rendimento delle API, consentendoti di diagnosticare rapidamente i problemi e facilitare le azioni correttive per la continuità operativa. API Monitoring è progettato per trovare rapidamente i punti problematici nelle API e nei backend. API Analytics è progettato per acquisire un'ampia gamma di dati di analisi da utilizzare da diversi team, ma i dati vengono in genere utilizzati per l'analisi in scenari non in tempo reale.

Una delle principali differenze tra API Monitoring e API Analytics è il meccanismo di avviso integrato in API Monitoring. Con gli avvisi, puoi specificare una soglia per il codice di stato HTTP (2xx/4xx/5xx), la latenza o il codice di errore che, se superata, attiva una notifica di avviso al tuo team operativo. Le notifiche di avviso possono essere inviate tramite una serie di canali, come email, Slack, cercapersone o webhook, consentendoti di rispondere immediatamente ai problemi.

Per un confronto più dettagliato tra questi servizi, consulta Confrontare API Monitoring con Edge API Analytics.

Ulteriori informazioni