Monitoraggio dell'utilizzo delle API

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

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ò accelerare drasticamente 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 indicatori standard che vengono utilizzati dai Site Reliability Engineer di Google per valutare lo stato 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 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 tutti gli utilizzi dell'API oppure puoi 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 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 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 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 di nuovi:

    • 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 usi Cloud Monitoring, puoi approfondire i dati sulle metriche disponibili utilizzando Metrics Explorer per ottenere insight più approfonditi sull'utilizzo dell'API. Cloud Monitoring supporta un'ampia gamma di metriche, che possono essere combinate con filtri e aggregazioni per visualizzazioni nuove e ricche di insight sulle prestazioni delle applicazioni. Ad esempio, puoi combinare una metrica di conteggio delle richieste con un filtro nella classe del codice di risposta HTTP per creare una dashboard che mostri le percentuali 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 poi 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 Metrics Explorer.

Risoluzione dei problemi relativi alle metriche dell'API

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

  • Se tutte le chiamate a un servizio non vanno a buon fine per un solo ID credenziale, ma non altri, è probabile che ci sia un problema con l'account che puoi risolvere facilmente 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 della latenza del 50° percentile di un servizio GCP critico. Chiamaci e indicaci questi dati per consentirci di iniziare a risolvere il problema nel più breve tempo possibile.
  • Le latenze per un report di servizio GCP appaiono buone e invariate rispetto a prima, ma le tue metriche in-app segnalano che la latenza delle chiamate al servizio è insolitamente elevata. Significa che ci sono 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, devi tenere in considerazione alcuni problemi per assicurarti che forniscano informazioni utili, in particolare quando configuri avvisi in base a valori delle metriche. Le seguenti best practice ti aiuteranno a sfruttare al meglio i dati delle metriche API.

La latenza è un problema?

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

Cerca le modifiche nella norma

Prima di decidere se ricevere un avviso per un determinato valore di metrica, considera ciò che in realtà viene considerato come comportamento insolito. Analizzando le metriche dell'API si può notare che i risultati di latenza per la maggior parte dei servizi rientrano in una normale distribuzione: una grande gobba al centro e i valori anomali in entrambi i lati. Le metriche ti aiuteranno a comprendere la distribuzione normale in modo che tu possa progettare la tua app in modo che funzioni correttamente 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, in modo da trovare la causa principale di un problema. Prevediamo che il 99° percentile sembra molto diverso dalla mediana, ciò che non ci aspettiamo siano cambiamenti drastici in quei percentili nel tempo.

Inoltre, potresti notare che alcuni tipi di richieste richiedono più tempo di altri. Se la dimensione media di una foto caricata in Google Foto è di 4 MB, ma di solito carichi 20 MB di file RAW, è probabile che il tempo medio per caricare 20 foto sia notevolmente inferiore a quello della maggior parte degli utenti, ma che è comunque il tuo comportamento normale.

Tutto questo significa che non è particolarmente utile avvisare la prima volta che viene rilevata una chiamata RPC o 5xx HTTP di seconda durata. Invece, quando analizzi un servizio Google come possibile causa di un problema della tua applicazione, confronta i codici di ritorno e i tassi di latenza nel tempo e controlla le modifiche persistenti dalla norma correlate ai problemi osservati nella tua applicazione.

Percentuale di traffico

Le metriche API sono particolarmente utili nei casi in cui 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 forniranno informazioni significative sulla valutazione.

Ad esempio, se vuoi monitorare la latenza del 99,5° percentile per un servizio ed esegui solo 100 chiamate all'ora, la misurazione su un periodo di due ore ti darebbe un solo punto dati che rappresenta il 99,5° percentile, che non fornisce indicazioni sul comportamento normale dell'API o dell'applicazione. Assicurati che la percentuale di 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 le API di Google Cloud, nonché le API basate su endpoint Cloud e API Gateway, supportano le metriche API. Se sei un utente dell'API, puoi visualizzare le metriche dell'API Consumed nella dashboard dell'API. Se sei un produttore di API, puoi visualizzare le metriche dell'API prodotto nella dashboard degli endpoint.