Monitoraggio dell'utilizzo delle API

Questa pagina descrive come utilizzare le metriche API per monitorare e comprendere l'utilizzo delle API Google e Google Cloud.

Le API di Google producono metriche di utilizzo dettagliate che possono aiutarti a:

  • Monitora e comprendi il tuo utilizzo delle API di Google.
  • Monitora le prestazioni delle tue applicazioni e delle API di Google.
  • Scopri i problemi tra le tue applicazioni e le API Google.

Può accelerare notevolmente i tempi di risoluzione dei problemi o hai bisogno dell'assistenza tecnica di Google.

Le metriche generate dalle API di Google sono gli indicatori standard i propri tecnici di Site Reliability Engineer utilizzano per valutare l'integrità di un servizio. Queste metriche coprono conteggi delle richieste, tassi di errore, latenze totali, latenze del backend, dimensioni delle richieste e dimensioni delle risposte. Per le definizioni delle metriche API, vedi documentazione di Cloud Monitoring.

Puoi visualizzare le metriche delle API in due posizioni: Dashboard delle API e Cloud Monitoring. Le metriche visualizzate sono specifiche per il progetto e non riflettono lo stato complessivo del servizio.

Utilizzo della dashboard dell'API

Il modo più semplice per visualizzare le metriche dell'API è utilizzare la dashboard API della console Google Cloud. Puoi visualizzare una panoramica di tutto l'utilizzo delle API o puoi visualizzare in dettaglio l'utilizzo di un'API specifica.

Per visualizzare una panoramica dell'utilizzo dell'API:

  1. Visita la sezione API e servizi della console Cloud. Per impostazione predefinita viene visualizzata la dashboard principale dell'API. In questa pagina puoi visualizzare tutte le API attualmente abilitate per il tuo progetto, nonché i grafici di panoramica per le seguenti metriche:

    • Traffico: il numero di richieste al secondo effettuate dal progetto o relative al progetto alle API abilitate
    • Errori: la percentuale di richieste alle API abilitate che hanno generato errori
    • Latenza mediana: la latenza mediana per le richieste alle API abilitate, se disponibile.

Per visualizzare i dettagli di utilizzo di un'API specifica:

  1. Seleziona l'API che vuoi visualizzare nell'elenco principale delle API della dashboard. La pagina Panoramica dell'API mostra un grafico del traffico più dettagliato con un e analisi per codice di risposta.
  2. Per informazioni sull'utilizzo ancora più dettagliate, seleziona Visualizza metriche. Per impostazione predefinita, vengono visualizzati i seguenti grafici predefiniti: anche se sono disponibili altre opzioni:

    • Traffico per codice di risposta
    • Errori per metodo API
    • Latenza complessiva al 50°, 95° e 99° percentile
    • Latenza per metodo API (mediana)
  3. Se vuoi aggiungere altri grafici, puoi selezionare altre grafici predefiniti dal menu a discesa Seleziona grafici.

Utilizzo di Cloud Monitoring

Se utilizzi Cloud Monitoring, puoi approfondire i dati delle metriche disponibili utilizzando Metrics Explorer per ottenere informazioni più dettagliate sull'utilizzo dell'API. Cloud Monitoring supporta un'ampia gamma di metriche, che possono essere combinate con filtri e aggregazioni per ottenere punti di vista nuovi e significativi sul rendimento delle applicazioni. Ad esempio, puoi combinare una metrica di conteggio delle richieste con un filtro sulla classe del codice di risposta HTTP per creare una dashboard che mostri i tassi di errore nel tempo oppure puoi esaminare la latenza del 95° percentile delle richieste all'API Cloud Pub/Sub.

Per visualizzare le metriche dell'API in Metrics Explorer, seleziona API utilizzata come tipo di risorsa e poi una delle metriche serviceruntime. Quindi utilizza il filtro e e le opzioni di aggregazione per perfezionare i dati. Dopo aver trovato le informazioni sull'utilizzo dell'API che ti interessano, puoi utilizzare Cloud Monitoring per creare dashboard e avvisi personalizzati che ti aiuteranno a continuare a monitorare e gestire un'applicazione solida. Le istruzioni per questa operazione sono disponibili alle pagine seguenti:

Per ulteriori informazioni, vedi Esplora metriche.

Risoluzione dei problemi relativi alle metriche API

Le metriche API possono essere particolarmente utili se devi contattare Google quando qualcosa va storto e possono anche indicarti che non è necessario contattare l'assistenza. Ad esempio:

  • Se tutte le chiamate a un servizio falliscono per un singolo ID credenziale, ma non per altri, è probabile che ci sia un problema con quell'account che puoi facilmente risolvere autonomamente senza aprire un ticket.
  • Stai risolvendo un problema con la tua app e noti una correlazione tra le prestazioni ridotte della tua applicazione e un aumento sostenuto la latenza del 50° percentile di un servizio Google Cloud critico. Chiamaci e forniscici questi dati per consentirci di iniziare a lavorare al problema il più rapidamente possibile.
  • Le latenze per un report di servizio Google Cloud sembrano buone e invariate rispetto a prima, ma le tue metriche in-app segnalano che la latenza delle chiamate al servizio è in modo anormalmente alto. Ciò indica che si è verificato un problema nella rete. Contatta il tuo operatore di rete (in alcuni casi, Google) per avviare il processo di debugging.

Best practice

Sebbene le metriche API siano uno strumento estremamente utile, ci sono problemi che devi considerare per assicurarti che forniscano informazioni utili, in particolare quando configuri avvisi in base ai valori delle metriche. Le best practice riportate di seguito ti aiuteranno a ottenere il massimo dai dati delle metriche dell'API.

La latenza causa un problema?

Sebbene alcuni servizi siano piuttosto sensibili alla latenza, per altri sono più importanti la scalabilità e l'affidabilità. Alcune API, ad esempio Cloud Storage o BigQuery, possono avere un paio di secondi di alta latenza senza che i clienti se ne accorgano. Con i dati delle metriche API, puoi scoprire le esigenze degli utenti da un determinato servizio.

Cerca le variazioni rispetto alla norma

Prima di decidere di creare un avviso per un determinato valore di una metrica, considera cosa viene considerato come comportamento insolito. L'esame delle metriche dell'API può mostrare che i risultati relativi alla latenza per la maggior parte dei servizi rientrano in una distribuzione normale: un'ampia gobba al centro e valori anomali su entrambi i lati. Le metriche ti aiuteranno a comprendere la distribuzione normale in modo da progettare la tua app in modo che funzioni bene all'interno della curva di distribuzione. Le metriche possono anche aiutarti a correlare le variazioni di distribuzione momenti in cui l'app non funziona come previsto, per aiutarti a individuare la radice causa di un problema. Ci aspettiamo che il 99° percentile sia molto diverso dalla mediana, ma non prevediamo cambiamenti significativi in questi percentile nel tempo.

Inoltre, potresti notare che alcuni tipi di richieste richiedono più tempo di altri. Se le dimensioni medie di una foto caricata su Google Foto sono di 4 MB, ma di solito caricare file RAW da 20 MB, il tempo medio per caricare 20 foto è probabilmente notevolmente peggiore di quello della maggior parte degli utenti, ma è comunque la tua norma comportamento degli utenti.

Tutto ciò significa che non è particolarmente utile inviare un avviso la prima volta che viene rilevata una chiamata RPC o HTTP 5xx di un secondo. Invece, quando indaghi su una Possibile causa di un problema relativo alla tua applicazione confrontare i codici di ritorno e i tassi di latenza nel tempo e Cerca cambiamenti costanti rispetto alla norma correlati ai problemi osservati nella tua applicazione.

Frequenza di traffico

Le metriche delle API sono particolarmente utili quando hai un volume di traffico elevato verso la tramite Google Cloud CLI o tramite l'API Compute Engine. Se chiami un servizio solo a intermittenza, le metriche dell'API non saranno statisticamente valide e non ti forniranno informazioni significative sul triage.

Ad esempio, se vuoi monitorare la latenza del 99,5° percentile per un servizio e effettui solo 100 chiamate all'ora, la misurazione su un periodo di due ore ti fornirà un solo punto dati per rappresentare il 99,5° percentile, il che non ti dirà molto sul comportamento normale dell'API o della tua applicazione. Assicurati che la percentuale di traffico, il percentile che stai monitorando e l'intervallo di tempo che stai prendendo in considerazione genera molti punti d'interesse o i dati di monitoraggio non ti saranno utili.

API supportate

Tutte le API Google e Google Cloud, nonché le API basate su Cloud Endpoints e API Gateway, supportano le metriche API. Se sei un consumer di API, puoi visualizzare le metriche delle API utilizzate nel Dashboard delle API. Se sei un produttore di API, puoi visualizzare le metriche delle API prodotte nella dashboard di Endpoints.