Monitoraggio dell'utilizzo delle API

In questa pagina viene descritto come utilizzare le metriche 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 si risolvono problemi o si ha bisogno di assistenza tecnica da parte di Google.

Le metriche generate 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 dell'API, consulta la 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 delle API

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

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 vedere tutte le API attualmente abilitate per il tuo progetto, nonché grafici di panoramica per le seguenti metriche:

    • Traffico: il numero di richieste al secondo effettuate da 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 per un'API specifica:

  1. Seleziona l'API che vuoi visualizzare nell'elenco principale della dashboard delle API. 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, ma 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 sulle metriche disponibili utilizzando Metrics Explorer, in modo da ottenere informazioni più approfondite sull'utilizzo dell'API. Cloud Monitoring supporta un'ampia gamma di metriche, che puoi combinare 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 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, 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 maggiori informazioni, consulta Esplora metriche.

Risoluzione dei problemi con le metriche dell'API

Le metriche delle API possono essere particolarmente utili se hai bisogno di contattare Google in caso di problemi e potrebbero persino mostrarti che non hai bisogno di contattare l'assistenza. Ad esempio:

  • Se tutte le chiamate a un servizio non funzionano per un singolo ID credenziale, ma non per altre, è probabile che ci sia qualcosa di sbagliato in quell'account che puoi facilmente risolvere senza 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 al 50° percentile di un servizio Google Cloud critico. Chiamaci e indicaci questi dati per poter iniziare a occuparci del problema il prima possibile.
  • Le latenze per un report di servizio Google Cloud sembrano buone e invariate rispetto a prima, ma le metriche in-app segnalano che la latenza delle chiamate al servizio è insolitamente elevata. Questo indica che c'è qualche problema con la rete. Chiama il tuo fornitore di rete (in alcuni casi, Google) per avviare il processo di debug.

Best practice

Sebbene le metriche delle API siano uno strumento estremamente utile, vi sono alcuni problemi da considerare per assicurarsi che forniscano informazioni utili, in particolare quando si configurano avvisi basati sui valori delle metriche. Le best practice riportate di seguito ti aiuteranno a ottenere il massimo dai dati delle metriche dell'API.

La latenza è la causa di un problema?

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

Cerca cambiamenti rispetto alla norma

Prima di decidere di generare un avviso per un determinato valore della metrica, considera ciò che viene considerato effettivamente come un 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 outlier su entrambi i lati. Le metriche ti aiuteranno a comprendere la distribuzione normale, in modo che tu possa progettare l'app in modo che funzioni bene nella curva di distribuzione. Le metriche possono anche aiutarti a correlare le variazioni di distribuzione con i momenti in cui l'app non funziona come previsto per aiutarti a trovare la causa principale di un problema. Ci aspettiamo che il 99° percentile sembri molto diverso dalla mediana, non ci aspettiamo variazioni significative di questi percentili nel tempo.

Inoltre, potresti notare che alcuni tipi di richieste richiedono più tempo di altre. Se la dimensione media di una foto caricata su Google Foto è di 4 MB, ma in genere carichi file RAW da 20 MB, il tempo medio per caricare 20 foto probabilmente sarà sostanzialmente inferiore a quello della maggior parte degli utenti, pur mantenendo il tuo comportamento normale.

Ciò significa che non è particolarmente utile avvisare la prima volta che viene rilevata una chiamata HTTP RPC o 5xx della durata di un secondo. 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 le variazioni costanti nella norma correlate ai problemi osservati nella tua applicazione.

Frequenza di traffico

Le metriche delle API sono utili soprattutto nei casi in cui è presente un volume di traffico elevato verso l'API. Se chiami un servizio solo a intermittenza, le metriche dell'API non saranno valide a livello statistico e non ti forniranno informazioni significative per la 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 su un periodo di due ore ti darebbe solo un punto dati che rappresenta il 99,5° percentile, che non ti dirà molto sul normale comportamento dell'API o della tua applicazione. Assicurati che la percentuale di traffico, il percentile che stai monitorando e il periodo di tempo che stai considerando generino molti punti d'interesse oppure i dati di monitoraggio non ti saranno utili.

API supportate

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