Monitoraggio dell'utilizzo delle API

Le metriche delle API ti consentono di monitorare indicatori come il numero di richieste, le percentuali di errori e le latenze per le API di Google e le API Google Cloud , aiutandoti a monitorare le prestazioni delle applicazioni e a risolvere gli errori. Puoi esaminare la telemetria nella dashboard delle API e in Cloud Monitoring, dove le metriche riflettono il traffico per il tuo progetto anziché lo stato generale del servizio. Per le definizioni delle metriche API, consulta la documentazione di Cloud Monitoring.

Utilizzo della dashboard delle API

Il modo più semplice per visualizzare le metriche delle API è utilizzare la dashboard API della console Google Cloud. Puoi visualizzare una panoramica di tutto l'utilizzo delle API o 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 API principale. 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 tuo progetto o relative al tuo 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 delle API della dashboard API principale. La pagina Panoramica dell'API mostra un grafico del traffico più dettagliato con una suddivisione per codice di risposta.
  2. Per informazioni ancora più dettagliate sull'utilizzo, 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 maggiori informazioni sull'utilizzo delle API. Cloud Monitoring supporta un'ampia gamma di metriche, che puoi combinare con filtri e aggregazioni per ottenere visualizzazioni nuove e approfondite delle prestazioni della tua applicazione. Ad esempio, puoi combinare una metrica del conteggio delle richieste con un filtro sulla classe del codice di risposta HTTP per creare una dashboard che mostri le percentuali di errore nel tempo oppure puoi 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, poi seleziona una delle metriche serviceruntime. Poi utilizza le opzioni di filtro e 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 mantenere un'applicazione solida. Le istruzioni per questa operazione sono disponibili alle pagine seguenti:

Per saperne di più, consulta Esplora metriche.

Risoluzione dei problemi con le metriche API

Le metriche API possono essere particolarmente utili se devi contattare Google quando qualcosa va storto e possono persino 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 altri, è probabile che ci sia un problema con quell'account che puoi risolvere facilmente in autonomia senza aprire un ticket.
  • Stai risolvendo un problema con la tua app e noti una correlazione tra il peggioramento delle prestazioni dell'applicazione e un aumento prolungato della latenza del 50° percentile di un servizio Google Cloud critico. Chiamaci e indicaci questi dati in modo da poter iniziare a lavorare sul problema il prima possibile.
  • Le latenze per un report del servizio GCP sembrano buone e invariate rispetto a prima, ma le metriche in-app indicano che la latenza delle chiamate al servizio è anormalmente elevata. Questo indica che si è verificato un problema nella rete. Chiama il tuo fornitore di rete (in alcuni casi, Google) per avviare la procedura di debug.

Best practice

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

La latenza sta causando un problema?

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

Cercare variazioni rispetto alla norma

Prima di decidere di attivare un avviso per un determinato valore di metrica, considera cosa costituisce effettivamente un comportamento insolito. L'analisi delle metriche API può mostrare che i risultati della latenza per la maggior parte dei servizi rientrano in una distribuzione normale: un grande picco al centro e outlier su entrambi i lati. Le metriche ti aiuteranno a comprendere la distribuzione normale, in modo da poter progettare la tua 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 sia molto diverso dalla mediana, ma non ci aspettiamo cambiamenti drastici in questi percentili nel tempo.

Inoltre, potresti notare che alcuni tipi di richieste richiedono più tempo rispetto ad altri. Se le dimensioni medie di una foto caricata su Google Foto sono 4 MB, ma di solito carichi file RAW da 20 MB, il tempo medio di caricamento di 20 foto sarà probabilmente molto peggiore rispetto a quello della maggior parte degli utenti, ma è comunque il tuo comportamento normale.

Tutto questo 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 un servizio Google come possibile causa di un problema che si sta verificando nella tua applicazione, confronta i codici di ritorno e i tassi di latenza nel tempo e cerca variazioni sostenute rispetto alla norma che siano correlate ai problemi osservati nella tua applicazione.

Frequenza di traffico

Le metriche API sono più utili quando il volume di traffico verso l'API è elevato. Se chiami un servizio solo in modo intermittente, le metriche dell'API non saranno statisticamente valide e non ti forniranno informazioni significative per la valutazione.

Ad esempio, se vuoi monitorare la latenza del 99,5° percentile per un servizio ed effettui solo 100 chiamate all'ora, l'osservazione della misurazione in 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 frequenza del traffico, il percentile che stai monitorando e la finestra temporale che stai considerando generino molti punti dati di interesse, altrimenti i dati di monitoraggio non ti saranno utili.

API supportate

Tutte le API di Google e di 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 nella dashboard API. Se sei un producer di API, puoi visualizzare le metriche delle API prodotte nella dashboard di Endpoints.