Questa pagina descrive come emettere metriche lato client gRPC in Cloud Monitoring quando utilizzi gRPC per interagire con Cloud Storage utilizzando una delle seguenti interfacce supportate:
Libreria client Java di Cloud Storage, versione 2.41.0 e successive
- Connettore Apache Beam su Dataflow, versione 2.2.26 e successive
Le metriche lato client possono essere utilizzate per monitorare le prestazioni dell'applicazione client che interagisce con Cloud Storage utilizzando gRPC. La metrica lato client differisce dalle metriche lato server, che forniscono insight sul rendimento di Cloud Storage dal punto di vista del server.
Come funziona
Puoi attivare l'emissione di metriche lato client in Cloud Monitoring quando utilizzi gRPC per interagire con Cloud Storage utilizzando una delle interfacce supportate. Puoi visualizzare le metriche lato client utilizzando Metrics Explorer per monitorare e ottimizzare le interazioni tra Cloud Storage e il client gRPC, gestire l'utilizzo e risolvere i colli di bottiglia delle prestazioni e i problemi tecnici.
Prezzi
Le metriche lato client di Cloud Storage non sono addebitabili, il che significa che puoi emettere, archiviare e accedere alle metriche lato client di Cloud Storage senza incorrere in addebiti di Cloud Monitoring. Per saperne di più sui prezzi, consulta Prezzi di Google Cloud Observability.
Prima di iniziare
Per utilizzare le metriche lato client, devi prima completare i seguenti passaggi:
Verifica che la libreria client o il connettore Cloud Storage che vuoi utilizzare supporti gRPC. Le seguenti librerie client e connettori Cloud Storage supportano gRPC:
Abilita l'API Cloud Monitoring.
Abilita l'API Storage di Cloud Storage.
Imposta i ruoli e le autorizzazioni richiesti per emettere metriche lato client.
Ruoli obbligatori
Per impostare le autorizzazioni necessarie per emettere metriche lato client gRPC in Cloud Monitoring, concedi il ruolo IAM Scrittore metriche Monitoring (roles/monitoring.metricWriter) al service account utilizzato dal client gRPC.
Questo ruolo predefinito contiene le autorizzazioni necessarie per inviare metriche lato client gRPC a Cloud Monitoring. Per vedere quali sono esattamente le autorizzazioni richieste, consulta la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
monitoring.timeSeries.create
Questa autorizzazione IAM è inclusa nei seguenti ruoli predefiniti di Cloud Storage:
- Storage Admin (
roles/storage.admin) - Storage Object Admin (
roles/storage.objectAdmin) - Storage Object User (
roles/storage.objectUser)
Potresti anche ottenere queste autorizzazioni con altri ruoli personalizzati o ruoli predefiniti. Per saperne di più sul ruolo Scrittore metriche Monitoring, consulta la documentazione di IAM su roles/monitoring.metricWriter.
Considerazioni
Se utilizzi il connettore Cloud Storage su Managed Service for Apache Spark, devi concedere il ruolo IAM Monitoring Metric Writer (
roles/monitoring.metricWriter) al service account della macchina virtuale (VM) Managed Service for Apache Spark.Se utilizzi il connettore Apache Beam su Dataflow, devi concedere il ruolo IAM Monitoring Metric Writer (
roles/monitoring.metricWriter) al service account worker Dataflow.
Visualizzare le metriche in Metrics Explorer
Utilizza le seguenti istruzioni per visualizzare le metriche lato client gRPC di Cloud Storage in Metrics Explorer.
Nella console Google Cloud , vai alla pagina Esplora metriche.
Seleziona il progetto per cui vuoi visualizzare le metriche.
Dal menu a discesa Metrica, fai clic su Seleziona una metrica.
Nella barra di ricerca Filtra in base al nome della risorsa o della metrica, inserisci
storage.googleapis.com/Cliento cerca la metrica che vuoi applicare in base al nome della metrica e fai clic su Applica. Per aggiungere più di una metrica, fai clic su Aggiungi query.Cloud Storage applica le metriche al tuo progetto. Puoi filtrare o aggregare le metriche utilizzando i seguenti menu a discesa:
Per selezionare e visualizzare un sottoinsieme dei dati in base a criteri specifici, utilizza il menu a discesa Filtro.
Per combinare più punti dati in un unico valore e visualizzare una visualizzazione riepilogativa delle metriche, utilizza il menu a discesa Aggregazione.
Lascia l'applicazione in esecuzione per almeno un minuto prima di verificare la presenza di metriche pubblicate.
Per visualizzare le metriche che hai aggiunto al progetto utilizzando una dashboard, consulta Panoramica delle dashboard.
Descrizioni delle metriche
Le sezioni seguenti descrivono le metriche lato client di Cloud Storage che possono essere utilizzate per monitorare le prestazioni del client gRPC.
Metriche per tentativo del client
Le seguenti metriche raccolgono dati sul rendimento relativi ai singoli tentativi effettuati da un client per comunicare con un server. Le metriche per tentativo del client possono aiutarti a misurare il comportamento di ripetizione, i colli di bottiglia e a ottimizzare la comunicazione tra un client e un server.
| Metrica completa | Descrizione | Tipo di strumento | Unità | Attributi |
|---|---|---|---|---|
storage.googleapis.com/client/grpc/client/attempt/started |
Preview: il numero totale di tentativi RPC avviati, inclusi quelli non completati. |
Contatore | {attempt} |
|
storage.googleapis.com/client/grpc/client/attempt/duration |
Preview. Il tempo end-to-end necessario per completare un tentativo RPC, incluso il tempo necessario per scegliere un sottocanale. |
Istogramma | s |
|
storage.googleapis.com/client/grpc/client/attempt/sent_total_compressed_message_size |
Preview. I byte totali, compressi ma non criptati,
che vengono inviati in tutti i messaggi di richiesta, ad eccezione dei metadati per tentativo RPC. Non sono inclusi i byte di framing gRPC o di trasporto. |
Istogramma | By |
|
storage.googleapis.com/client/grpc/client/attempt/rcvd_total_compressed_message_size |
Preview. I byte totali, compressi ma non criptati, ricevuti in tutti i messaggi di risposta, ad eccezione dei metadati per tentativo RPC. Non sono inclusi i byte di framing gRPC o di trasporto. |
Istogramma | By |
|
Per maggiori informazioni sugli strumenti per tentativo del client, consulta la documentazione sulle metriche OpenTelemetry su GitHub.
Metriche per chiamata del client
Le seguenti metriche forniscono una visualizzazione aggregata dell'intero ciclo di vita di una chiamata client a un server. Le metriche per chiamata del client forniscono dati di alto livello sulle chiamate del client, forniscono metriche di monitoraggio per comprendere i pattern di chiamata e aiutano a identificare le frequenze degli errori.
| Metrica completa | Descrizione | Tipo di strumento | Unità | Attributi |
|---|---|---|---|---|
storage.googleapis.com/client/grpc/client/call/duration |
Preview. Misura il tempo end-to-end impiegato dalla libreria gRPC per completare un RPC dal punto di vista dell'applicazione. |
Istogramma | s |
|
Per saperne di più sugli strumenti per chiamata del client, consulta la documentazione sulle metriche di OpenTelemetry su GitHub.
Metriche di rilevamento del carico delle richieste
Le seguenti metriche forniscono insight sull'efficacia dell'utilizzo del rilevamento del carico delle richieste da parte della tua applicazione client. Le metriche di rilevamento del carico delle richieste possono aiutarti a bilanciare i carichi del server, ottimizzare l'utilizzo delle risorse e migliorare i tempi di risposta del client. Le seguenti metriche sono disponibili solo con la connettività diretta.
| Metrica completa | Descrizione | Tipo di strumento | Unità | Attributi |
|---|---|---|---|---|
storage.googleapis.com/client/grpc/lb/rls/cache_entries |
Preview. Il numero di voci nella cache di rilevamento del carico delle richieste. |
Misuratore | {entry} |
|
storage.googleapis.com/client/grpc/lb/rls/cache_size |
Preview. Le dimensioni attuali della cache di rilevamento del carico delle richieste. |
Misuratore | By |
|
storage.googleapis.com/client/grpc/lb/rls/default_target_picks |
Preview: il numero di scelte del bilanciatore del carico (LB) inviate alla destinazione predefinita. |
Contatore | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/target_picks |
Preview. Il numero di scelte di bilanciamento del carico inviate a ciascun target di rilevamento del carico delle richieste. Se il target predefinito viene restituito anche dal server di rilevamento del carico delle richieste, gli RPC inviati a questo target dalla cache vengono conteggiati in questa metrica, non in grpc.rls.default_target_picks. |
Contatore | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/failed_picks |
Preview. Il numero di selezioni LB non riuscite a causa di una richiesta di rilevamento del carico della richiesta non riuscita o della limitazione del canale di rilevamento del carico della richiesta. |
Contatore | {pick} |
|
Metriche client del servizio xDiscovery
Le seguenti metriche forniscono informazioni su come l'applicazione client interagisce con il control plane xDiscovery Service (xDS) per rilevare e configurare le connessioni ai servizi di backend. Le metriche xDS possono aiutarti a monitorare la latenza delle richieste di servizio, monitorare gli aggiornamenti della configurazione e ottimizzare le prestazioni xDS complessive.
Le seguenti metriche sono disponibili solo con la connettività diretta.
| Metrica completa | Descrizione | Tipo di strumento | Unità | Attributi |
|---|---|---|---|---|
storage.googleapis.com/client/grpc/xds_client/connected |
Preview. Misura se il client xDS ha o meno un flusso ADS funzionante verso il server xDS. Per un determinato server, questa metrica viene impostata su 1 al momento della creazione iniziale dello stream. Se si verifica un
errore di connettività o quando lo stream ADS non va a buon fine senza visualizzare un
messaggio di risposta come indicato in A57, la metrica viene impostata su
0. Una volta impostata su 0, la metrica
verrà reimpostata su 1 quando viene ricevuta la prima risposta
su uno stream ADS. Questa metrica è disponibile solo per le librerie client di Cloud per C++. |
Misuratore | {bool} |
|
storage.googleapis.com/client/grpc/xds_client/resource_updates_invalid |
Preview. Il numero di risorse ricevute che sono state considerate non valide. Questa metrica è disponibile solo per le librerie client di Cloud per C++. |
Contatore | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/resource_updates_valid |
Preview: il numero di risorse ricevute considerate valide, anche se invariate.
Questa metrica è disponibile solo per le librerie client di Cloud per C++. |
Contatore | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/resources |
Preview. Il numero di risorse xDS. Questa metrica è disponibile solo per le librerie client di Cloud per C++. |
Misuratore | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/server_failure |
Preview. Il numero di server xDS che non funzionano più
correttamente e sono diventati non disponibili, sovraccarichi o
forniscono dati di configurazione errati o non validi. Questa metrica è disponibile solo per le librerie client di Cloud per C++. |
Contatore | {failure} |
|
Per saperne di più sulle metriche del client xDS, consulta la documentazione sul bilanciamento del carico globale basato su xDS in GitHub.
Disattiva le metriche lato client
Se necessario, puoi disattivare le metriche lato client.
Java
public GrpcStorageOptions.Builder setEnableGrpcClientMetrics(false enableGrpcClientMetrics)
Per saperne di più, consulta
Librerie client di Cloud per il metodo della classe GrpcStorageOptions.Builder Java per le metriche client gRPC.
C++
Per disattivare le metriche lato client per l'API gRPC utilizzando le librerie client di Cloud per C++, consulta Struct EnableGrpcMetricsOption.
Se utilizzi Bazel per creare l'applicazione e vuoi disattivare le metriche lato client, imposta l'opzione enable_grpc_metrics su false nel file di build dell'applicazione.
Passaggi successivi
Scopri di più sull'osservabilità in Google Cloud.
Scopri come aggiungere tracce e metriche personalizzate alla tua applicazione.