Monitoraggio dell'utilizzo delle API

In questa pagina viene descritto come utilizzare le metriche delle API per monitorare e comprendere l'utilizzo delle API di Google e delle API di 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ò velocizzare notevolmente i tempi di risoluzione quando risolvi i problemi o hai bisogno di assistenza tecnica da parte di Google.

Le metriche generate dalle API di Google sono gli indicatori standard utilizzati dai proprietari di 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 della risposta. Per le definizioni delle metriche API, consulta la documentazione di Cloud Monitoring.

Puoi visualizzare le metriche API in due modi: dashboard API e Cloud Monitoring. Le metriche che visualizzi sono specifiche per il tuo progetto e non riflettono lo stato generale del servizio.

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 dell'API:

  1. Visita la sezione API e servizi della console Cloud. La dashboard API principale è visualizzata per impostazione predefinita. In questa pagina puoi vedere tutte le API che hai attualmente abilitato per il tuo progetto, nonché grafici di panoramica per le seguenti metriche:

    • Traffico: il numero di richieste al secondo effettuate dal o sul tuo progetto alle API abilitate
    • Errori: la percentuale di richieste alle API abilitate che hanno generato errori
    • Latenza mediana: la latenza mediana delle 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 delle API della dashboard. La pagina Panoramica dell'API mostra un grafico del traffico più dettagliato, suddiviso 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 sono disponibili altri grafici:

    • 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ù dettagliate 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 tue applicazioni. Ad esempio, puoi combinare una metrica di conteggio delle richieste con un filtro sulla 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. Utilizza quindi le opzioni di filtro e aggregazione per perfezionare i dati. Dopo aver trovato le informazioni sull'utilizzo dell'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 la pagina Metrics Explorer.

Risoluzione dei problemi relativi alle metriche delle API

Le metriche API possono essere particolarmente utili se devi contattare Google quando si verifica un problema e possono persino indicare che non hai bisogno di contattare l'assistenza. Ecco alcuni esempi:

  • Se tutte le chiamate a un servizio non vanno a buon fine per un singolo ID credenziale, ma non altre, è possibile che si sia verificato un problema con questo 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 del 50° percentile di un servizio GCP critico. Chiamaci definitivamente e indicaci questi dati per consentirci di iniziare a lavorare al problema il più rapidamente possibile.
  • Le latenze per un report di servizio GCP hanno un aspetto positivo e invariato rispetto a prima, ma le tue metriche in-app segnalano che la latenza delle chiamate al servizio è insolitamente elevata. Questo indica che si sono verificati alcuni problemi nella 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, esistono dei problemi da considerare per assicurarti che forniscano informazioni utili, soprattutto quando configuri gli avvisi basati sui valori delle metriche. Le seguenti best practice ti aiuteranno a ottenere il massimo dai dati delle metriche delle API.

La latenza è un problema?

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

Cerca modifiche nella norma

Prima di decidere di generare avvisi per un determinato valore di metrica, considera ciò che viene effettivamente considerato un comportamento insolito. Analizzando le metriche dell'API puoi scoprire che i risultati di latenza per la maggior parte dei servizi rientrano in una normale distribuzione: una gobba centrale e i valori anomali su entrambi i lati. Le metriche ti aiuteranno a comprendere la distribuzione normale 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 modifiche alla distribuzione con i momenti in cui la tua app non funziona come previsto, per aiutarti a identificare la causa principale di un problema. Prevediamo che il 99° percentile abbia un aspetto molto diverso dalla mediana: ciò che non prevediamo sono cambiamenti drastici in quei percentili nel tempo.

Inoltre, alcuni tipi di richieste potrebbero richiedere più tempo di altri. Se la dimensione media di una foto caricata in Google Foto è 4 MB, ma in genere carichi 20 MB di file RAW, è probabile che il tempo medio che devi caricare per 20 foto sia di gran lunga inferiore a quello della maggior parte degli utenti, ma che è ancora il tuo comportamento normale.

Ciò significa che non è particolarmente utile avvisare la prima volta che viene rilevata una chiamata RPC o 5xx HTTP di seconda durata. Invece, 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 individua le modifiche durature che sono correlate ai problemi osservati nella tua applicazione.

Percentuale di traffico

Le metriche API sono più utili quando hai un volume elevato di traffico verso l'API. Se chiami un servizio solo a intermittenza, le metriche dell'API non saranno statisticamente valide e non forniranno informazioni significative sulla classificazione.

Ad esempio, se vuoi monitorare la latenza del 99,5° percentile per un servizio e esegui solo 100 chiamate all'ora, osservando la misurazione su un periodo di due ore avrai un solo punto dati che rappresenta il 99,5° percentile, che non fornisce molto sul comportamento normale dell'API o dell'applicazione. Assicurati che il tasso di traffico, il percentile che stai monitorando e la finestra temporale che stai prendendo in considerazione generino molti punti di interesse dati o i dati di monitoraggio non saranno utili per te.

API supportate

Tutte le API di Google e di Google Cloud, nonché le API basate su endpoint Cloud e API Gateway, supportano le metriche delle API. Se utilizzi l'API, puoi visualizzare le metriche relative all'API utilizzata nella dashboard dell'API. Se sei un produttore di API, puoi visualizzare le metriche dell'API prodotto nella dashboard degli endpoint.