Monitora i database con Cloud Monitoring
Questa pagina descrive come utilizzare le metriche di Cloud Monitoring per Firestore con compatibilità MongoDB per monitorare il tuo database.
Metriche di Cloud Monitoring per Firestore con compatibilità MongoDB
Le seguenti sezioni forniscono una panoramica delle metriche disponibili per Firestore con compatibilità MongoDB.
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 unico di metriche che possono essere esplorate, riportate tramite una dashboard o utilizzate per creare avvisi. Ogni risorsa ha anche un insieme di etichette delle risorse, 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 Firestore con compatibilità MongoDB vengono monitorate con la seguente risorsa:
Risorse | Descrizione |
firestore.googleapis.com/Database | Tipo di risorsa
monitorata che fornisce suddivisioni per project ,
location e database_id . |
Metriche
Per un elenco completo delle metriche per Firestore, consulta Metriche di 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 un livellamento dei dati.
Un'etichetta risorsa importante per le metriche serviceruntime
è method
. Questa
etichetta rappresenta il metodo RPC sottostante chiamato. Il metodo SDK che chiami
potrebbe non avere necessariamente lo stesso nome del metodo RPC sottostante. Il motivo
è che l'SDK fornisce un'astrazione API di alto livello. Tuttavia, quando cerchi di
capire come interagisce la tua applicazione con Firestore, è
importante comprendere le metriche in base al nome del metodo RPC.
Se devi 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.
Firestore registra le metriche del componente Firestore Service. Le metriche di latenza includono il tempo che intercorre tra la ricezione della richiesta da parte di Firestore e il completamento dell'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 Firestore non è inclusa in queste metriche.
Metriche delle operazioni sui documenti
Firestore fornisce i conteggi di lettura, scrittura ed eliminazione. La metrica 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 tuo database è orientato alla lettura o alla scrittura e il tasso di nuovi documenti rispetto a quelli eliminati.
document/delete_ops_count
: Il numero di eliminazioni di documenti riuscite.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 collettiva).
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_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 dai servizi di eliminazione gestita come TTL.
Metriche dell'indice
I tassi di scrittura dell'indice possono essere confrontati con la metrica document/write_ops_count
per comprendere la distribuzione dell'indice.
index/write_count
: Conteggio delle scritture dell'indice.
Metriche TTL
Le metriche TTL per Firestore con compatibilità MongoDB vengono utilizzate per monitorare l'effetto del criterio TTL applicato.
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.
Visualizzare dashboard predefinite e creare dashboard personalizzate
Firestore con compatibilità MongoDB supporta dashboard predefinite che utilizzano le metriche di 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
I dashboard di utilizzo richiedono l'autorizzazione monitoring.timeSeries.list
Identity and Access Management (IAM).
I ruoli Proprietario progetto, Editor e Visualizzatore 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 per un database Firestore con compatibilità MongoDB, procedi nel seguente modo.
Nella console Google Cloud , vai alla pagina Database.
Seleziona il database richiesto dall'elenco.
Nel menu di navigazione, fai clic su Utilizzo.
Dashboard sull'utilizzo e report di fatturazione
Le dashboard sull'utilizzo di 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 superiore. Per monitorare la fatturazione, consulta le metriche di fatturazione.
In tutti i casi di discrepanza, il report di 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 Firestore della consoleGoogle Cloud include dashboard di monitoraggio predefinite come Latenze di richiesta (P50 e P99), Codici di risposta e Statistiche query (P50). Puoi anche creare fino a una dashboard personalizzata. Per accedere alla pagina Monitoraggio di un database:
Nella console Google Cloud , apri la pagina Database di Firestore.
Seleziona un database dall'elenco.
Nel menu di navigazione, fai clic su Monitoring per aprire una dashboard.
Creare dashboard Cloud Monitoring personalizzate
In Cloud Monitoring, le dashboard personalizzate consentono di visualizzare in modo organizzato le informazioni pertinenti per te. Ad esempio, potresti creare una dashboard per visualizzare le metriche di rendimento e le norme di avviso per il tuo progetto nell'ambiente di produzione.
Per saperne di più sulla configurazione di una dashboard personalizzata, vedi Gestisci dashboard personalizzata e Aggiungi widget alla dashboard.
Crea un criterio 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 si ripercuotano sugli utenti.
Per saperne di più sulla creazione di avvisi, consulta Creare policy di avviso basate su metriche.
Considera l'esempio seguente in cui creiamo un criterio di avviso di latenza. Il criterio 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, quindi seleziona notifications Avvisi.
Seleziona Crea policy.
Seleziona la metrica Latenze richieste dalla risorsa API utilizzata.
Aggiungi un filtro del servizio per
firestore.googleapis.com
per i database Firestore Native.Fai clic su Avanti per configurare il trigger.
Seleziona Tipi di condizione come Soglia.
Una condizione di soglia è impostata su un valore soglia di 250 ms. Viene attivato un avviso quando il valore di latenza P99 rimane invariato per l'intero periodo della finestra mobile (5 minuti).
Imposta 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'