Questa pagina descrive come utilizzare le metriche Cloud Monitoring per Cloud Firestore per monitorare il database.
Cloud Monitoring metriche per Cloud Firestore
Le sezioni seguenti forniscono una panoramica delle metriche disponibili per Cloud Firestore.
Risorse monitorate
Una risorsa monitorata in Cloud Monitoring rappresenta un'entità logica o fisica, come una macchina virtuale, un database o un'applicazione. Le risorse monitorate contengono un insieme univoco di metriche che possono essere esplorate, segnalate tramite una dashboard o utilizzate per creare avvisi. Ogni risorsa ha anche un insieme di etichette, ovvero coppie chiave-valore che contengono informazioni aggiuntive sulla risorsa. Le etichette delle risorse sono disponibili per tutte le metriche associate alla risorsa.
Utilizzando l'API Cloud Monitoring, le prestazioni di Cloud Firestore vengono monitorate con la seguente risorsa:
| Risorse | Descrizione |
firestore.googleapis.com/Database | Tipo di risorsa monitorata che fornisce analisi per project, location e database_id. |
Metriche
Per un elenco completo delle metriche per Cloud Firestore, consulta Metriche di Cloud Firestore. La sezione seguente descrive alcune delle metriche disponibili.
Metriche di runtime del servizio
Le metriche serviceruntime forniscono una panoramica generale del traffico di un progetto. Queste metriche sono disponibili per la maggior parte delle API Google Cloud. Il tipo di risorsa monitorata consumed_api contiene queste metriche comuni. Queste metriche vengono campionate ogni 30 minuti, il che comporta una regolarizzazione dei dati.
Un'etichetta di risorsa importante per le metriche serviceruntime è method. Questa etichetta rappresenta la chiamata al metodo RPC sottostante. Il metodo SDK che chiami potrebbe non avere necessariamente lo stesso nome del metodo RPC sottostante. Il motivo è che l'SDK fornisce un'astrazione dell'API di alto livello. Tuttavia, quando cerchi di capire come la tua applicazione interagisce con Cloud Firestore, è importante comprendere le metriche in base al nome del metodo RPC.
Se hai bisogno di sapere qual è il metodo RPC sottostante per un determinato metodo SDK, consulta la documentazione dell'API.
api/request_latencies
La metrica api/request_latencies fornisce le distribuzioni della latenza per tutte le richieste completate.
Cloud Firestore registra le metriche dal componente Servizio Cloud Firestore. Le metriche di latenza includono il tempo che intercorre tra la ricezione della richiesta da parte di Cloud Firestore e il momento in cui Cloud Firestore termina l'invio della risposta, incluse le interazioni con il livello di archiviazione. Per questo motivo, la latenza di andata e ritorno (rtt) tra il client e il servizio Cloud Firestore non è inclusa in queste metriche.
Metriche delle operazioni sui documenti
Cloud Firestore fornisce i conteggi di lettura, scrittura ed eliminazione. La metrica di scrittura fornisce una suddivisione tra le operazioni "CREATE" e "UPDATE". Queste metriche sono allineate alle operazioni CRUD.
Le seguenti metriche possono essere utilizzate per capire se il database è caratterizzato da un numero elevato di letture o scritture e la frequenza di nuovi documenti rispetto a quelli eliminati.
document/delete_ops_count: il numero di eliminazioni di documenti andate a buon fine.document/read_ops_count: il numero di letture di documenti riuscite da query o ricerche.document/write_ops_count: il numero di scritture di documenti riuscite.
Metriche di fatturazione
Utilizza queste metriche per comprendere l'utilizzo della fatturazione. Queste metriche non includono la fatturazione delle operazioni di amministrazione (indicizzazione, importazione, esportazione ed eliminazione in blocco).
api/billable_read_units: il numero di unità di lettura fatturabili. L'utilizzo può essere suddiviso per nome del servizio e metodo API.api/billable_realtime_read_units: il numero di unità di aggiornamento in tempo reale fatturabili provenienti dagli aggiornamenti in tempo reale. Questo vale solo per Cloud Firestore in modalità Datastore.api/billable_write_units: il numero di unità di scrittura fatturabili. L'utilizzo può essere suddiviso per nome del servizio e metodo API.document/billable_managed_delete_write_units: il numero di unità di scrittura fatturabili dei servizi di eliminazione gestiti come TTL.
Metriche degli indici
Le frequenze di scrittura dell'indice possono essere confrontate con la metrica document/write_ops_count per comprendere il fanout dell'indice.
index/write_count: numero di scritture di indice.
Metriche TTL
Le metriche TTL per le metriche Cloud Firestore vengono utilizzate per monitorare l'effetto della policy TTL applicata.
document/ttl_deletion_count: numero totale di documenti eliminati dai servizi TTL.document/ttl_expiration_to_deletion_delays: tempo trascorso tra la scadenza di un documento con un TTL e la sua effettiva eliminazione.
Visualizza le dashboard predefinite e crea dashboard personalizzate
Cloud Firestore supporta dashboard predefinite che utilizzano le metriche Cloud Monitoring. Puoi anche creare dashboard personalizzate.
Visualizza le metriche di utilizzo del database
Apri le dashboard di utilizzo nella console Google Cloud per visualizzare le letture, le scritture e le eliminazioni dei documenti nel tempo.
Controllo degli accessi
Le dashboard di utilizzo richiedono l'autorizzazione Identity and Access Management (IAM) monitoring.timeSeries.list.
I ruoli Project Owner, Editor e Viewer concedono questa autorizzazione. Puoi anche concedere questa autorizzazione tramite un ruolo Cloud Monitoring o un ruolo personalizzato.
Dashboard di utilizzo del database
Per visualizzare le metriche di utilizzo di un database Cloud Firestore, segui questi passaggi.
Nella console Google Cloud, vai alla pagina Database.
Seleziona il database richiesto dall'elenco dei database.
Nel menu di navigazione, fai clic su Utilizzo.
Dashboard di utilizzo e report sulla fatturazione
Le dashboard sull'utilizzo di Cloud Firestore nella console forniscono una stima dell'utilizzo. Possono aiutarti a identificare picchi di utilizzo. Tuttavia, la dashboard non offre una visualizzazione esatta delle operazioni fatturate. L'utilizzo fatturato è probabilmente più elevato. Per monitorare la fatturazione, consulta le metriche di fatturazione.
In tutti i casi di discrepanza, il report sulla fatturazione ha la precedenza sulla dashboard sull'utilizzo.
Le operazioni di importazione ed esportazione causano discrepanze tra la dashboard di utilizzo e l'utilizzo fatturato. Le letture e le scritture eseguite da queste operazioni non vengono visualizzate nella dashboard di utilizzo.
Visualizza le metriche sul rendimento del database
La pagina Monitoring nella sezione Cloud Firestore della console Google Cloud include dashboard di monitoraggio predefinite come Latenze delle richieste (P50 e P99), Codici di risposta e Statistiche delle query (P50). Puoi anche creare fino a una dashboard personalizzata. Per accedere alla pagina Monitoraggio di un database, segui questi passaggi:
Nella console Google Cloud, apri la pagina Cloud Firestore Database.
Seleziona un database dall'elenco.
Nel menu di navigazione, fai clic su Monitoring per aprire una dashboard.
Crea dashboard Cloud Monitoring personalizzate
In Cloud Monitoring, le dashboard personalizzate ti consentono di visualizzare le informazioni pertinenti in modo organizzato. Ad esempio, potresti creare una dashboard per visualizzare le metriche sul rendimento e le policy di avviso per il tuo progetto nell'ambiente di produzione.
Per saperne di più sulla configurazione di una dashboard personalizzata, consulta Gestisci la dashboard personalizzata e Aggiungi widget della dashboard.
crea una policy di avviso
In Cloud Monitoring, puoi creare avvisi per ricevere una notifica quando si verifica una modifica in una condizione della metrica. Puoi utilizzare questi avvisi per ricevere notifiche di potenziali problemi prima che influiscano sui tuoi utenti.
Per saperne di più sulla creazione di avvisi, consulta Crea policy di avviso basate su soglie metriche.
Considera il seguente esempio in cui creiamo una policy di avviso per la latenza. La policy di avviso controlla la latenza p99 in una finestra temporale continua di 5 minuti. Se la latenza p99 rimane superiore a 250 ms per 5 minuti, viene attivato l'avviso.
Console
Nella console Google Cloud, vai alla pagina Monitoring e poi seleziona notifications Avvisi.
Seleziona Crea policy.
Seleziona la metrica Latenze delle richieste dalla risorsa API utilizzata.
Aggiungi un filtro dei servizi per
firestore.googleapis.comper i database Firestore in modalità Datastore.Fai clic su Avanti per configurare il trigger.
Seleziona Tipi di condizione come Soglia.
Una condizione di soglia è impostata su un valore di soglia di 250 ms. Viene attivato un avviso quando il valore di latenza p99 rimane invariato per l'intero periodo della finestra temporale (5 minuti).
Imposta il Valore soglia su 250.
Fai clic su Avanti per configurare le notifiche.
Imposta il nome della policy di avviso e fai clic su Avanti.
Rivedi le configurazioni degli avvisi e fai clic su Crea policy.
MQL
Puoi implementare la stessa policy di avviso di latenza utilizzando una query Monitoring Query Language (MQL). Per altri esempi di utilizzo di MQL, consulta Query MQL di esempio.
fetch consumed_api
| metric 'serviceruntime.googleapis.com/api/request_latencies'
| filter (resource.service == 'firestore.googleapis.com')
| group_by 5m,
[value_request_latencies_percentile:
percentile(value.request_latencies, 99)]
| every 5m
| condition val() > 0.25 's'