Monitoraggio dell'utilizzo delle API

Questa pagina descrive come utilizzare le metriche delle API per monitorare e comprendere l'utilizzo delle API di Google e delle API 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 di Google.

Può accelerare notevolmente i tempi di risoluzione quando devi risolvere i problemi o hai bisogno di assistenza tecnica da parte di Google.

Le metriche prodotte dalle API di Google sono gli indicatori standard utilizzati dai Site Reliability Engineer di Google per valutare l'integrità di un servizio. Queste metriche riguardano il numero di richieste, i tassi di errore, le latenze totali, le latenze di backend, le dimensioni delle richieste e le dimensioni delle risposte. Per le definizioni delle metriche API, consulta la documentazione di Cloud Monitoring.

Puoi visualizzare le metriche API in due posizioni: Dashboard API e Cloud Monitoring. Le metriche che vedi sono specifiche per il tuo progetto e non riflettono lo stato di servizio complessivo.

Utilizzo della dashboard delle API

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

Per visualizzare una panoramica dell'utilizzo delle API:

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

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

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

  1. Seleziona l'API che vuoi visualizzare nell'elenco delle API principale della dashboard dell'API. La pagina Panoramica dell'API mostra un grafico più dettagliato del traffico con una suddivisione 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 ne sono disponibili altri:

    • 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 altri 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ù approfondite sull'utilizzo dell'API. Cloud Monitoring supporta un'ampia gamma di metriche, che possono essere combinate con filtri e aggregazioni per ottenere viste nuove e approfondite sulle prestazioni delle applicazioni. Ad esempio, puoi combinare una metrica di conteggio delle richieste con un filtro nella classe Codice di risposta HTTP per creare una dashboard che mostri i tassi di errore nel tempo oppure esaminare la latenza del 95° percentile delle richieste all'API Cloud Pub/Sub.

Per visualizzare le metriche API in Metrics Explorer, seleziona API utilizzata come tipo di risorsa, quindi seleziona una delle metriche serviceruntime. Poi utilizza le opzioni di filtro e aggregazione per perfezionare i dati. Dopo aver trovato le informazioni sull'utilizzo delle API desiderate, 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, consulta Metrics Explorer.

Risoluzione dei problemi con le metriche API

Le metriche API possono essere particolarmente utili se devi contattare Google in caso di problemi e potrebbero anche mostrarti che non è necessario contattare l'assistenza. Ad esempio:

  • Se tutte le chiamate a un servizio non vanno a buon fine per un singolo ID credenziale, ma non per un altro, è probabile che ci sia un problema in questo account che puoi risolvere facilmente senza dover aprire un ticket.
  • Stai risolvendo un problema con la tua app e noti una correlazione tra le prestazioni ridotte dell'applicazione e un aumento sostenuto della latenza del 50° percentile di un servizio Google Cloud critico. Chiamaci e indica questi dati per consentirci di iniziare a lavorare al problema il più rapidamente possibile.
  • Le latenze per un report sul servizio Google Cloud appaiono buone e invariate rispetto a prima, ma le metriche in-app indicano che la latenza delle chiamate al servizio è insolitamente elevata. Questo indica la presenza di un problema di rete. Chiama il tuo provider di rete (in alcuni casi Google) per avviare il processo di debug.

best practice

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

La latenza è la causa di un problema?

Mentre alcuni servizi sono abbastanza sensibili alla latenza, per altri la scalabilità e l'affidabilità sono più importanti. Alcune API, Cloud Storage o BigQuery ad esempio, possono avere un paio di secondi di latenza elevata senza che i clienti se ne accorgano. Con i dati delle metriche API, puoi capire di cosa hanno bisogno i tuoi utenti da un determinato servizio.

Cerca i cambiamenti standard

Prima di decidere di inviare un avviso per un determinato valore di metrica, considera cosa viene effettivamente conteggiato come comportamento insolito. Osservando le metriche dell'API puoi vedere che i risultati di latenza per la maggior parte dei servizi rientrano in una distribuzione normale: una grande gobba al centro e valori anomali su entrambi i lati. Le metriche ti aiuteranno a comprendere la normale distribuzione in modo da poter progettare l'app in modo che funzioni bene all'interno della curva di distribuzione. Le metriche possono anche aiutarti a correlare le variazioni della distribuzione con i momenti in cui la tua app non funziona come previsto, per aiutarti a trovare la causa principale di un problema. Ci aspettiamo che il 99° percentile abbia un aspetto molto diverso dalla mediana, ovvero non ci aspettiamo variazioni significative di questi percentili 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 4 MB, ma normalmente carichi file RAW da 20 MB, il tempo medio necessario per caricare 20 foto sarà probabilmente notevolmente inferiore a quello della maggior parte degli utenti, pur mantenendo un comportamento normale.

Ciò significa che non è particolarmente utile inviare un avviso la prima volta che viene rilevata una chiamata HTTP RPC o 5xx di durata inferiore. Al contrario, quando esamini un servizio Google come possibile causa di un problema riscontrato dalla tua applicazione, confronta i codici di ritorno e i tassi di latenza nel tempo e cerca modifiche sostenute dalla norma correlate ai problemi osservati nell'applicazione.

Frequenza di traffico

Le metriche API sono più utili quando hai un volume elevato di traffico diretto all'API. Se chiami un servizio solo a intermittenza, le metriche API non saranno valide a livello statistico e non ti forniranno informazioni significative sulla classificazione.

Ad esempio, se vuoi monitorare la latenza del 99,5° percentile per un servizio ed esegui solo 100 chiamate all'ora, osservare la misurazione in un periodo di due ore ti fornirebbe un solo punto dati per rappresentare il 99,5° percentile, il che non fornirà molto sul normale comportamento dell'API o della tua applicazione. Assicurati che la frequenza di traffico, il percentile di monitoraggio e la finestra temporale che stai prendendo in considerazione generino molti punti dati di interesse, altrimenti i dati di monitoraggio non ti saranno utili.

API supportate

Tutte le API di Google e Google Cloud, nonché le API basate su Cloud Endpoints e API Gateway, supportano le metriche API. Se sei un consumer delle API, puoi visualizzare le metriche dell'API utilizzata nella dashboard delle API. Se sei un produttore di API, puoi visualizzare le metriche dell'API prodotta nella dashboard degli endpoint.