Monitorare i database con Cloud Monitoring
In questa pagina viene descritto come utilizzare una dashboard di Cloud Monitoring per visualizzare le metriche disponibili, creare una dashboard personalizzata e impostare avvisi.Visualizzare le metriche di compatibilità di Firestore con MongoDB
Per visualizzare le diverse metriche di compatibilità di Firestore con MongoDB e creare grafici, utilizza una delle seguenti opzioni:
La pagina Monitoraggio nella sezione Firestore della Google Cloud console. Questa pagina include una dashboard di monitoraggio predefinita. Puoi anche creare fino a una dashboard personalizzata. Per accedere alla pagina Monitoraggio di un database:
Nella Google Cloud console, apri la pagina Database di Firestore.
Seleziona un database dall'elenco.
Nel menu di navigazione, fai clic su Monitoraggio per aprire una dashboard.
Metrics Explorer in Cloud Monitoring nella Google Cloud console. Per ulteriori informazioni sulla creazione di grafici, consulta Creare grafici con Metrics Explorer.
Risorse monitorate
Una risorsa monitorata in Cloud Monitoring rappresenta un'entità logica o fisica, ad esempio una macchina virtuale, un database o un'applicazione. Le risorse monitorate contengono un insieme unico di metriche che possono essere esplorate, registrate 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 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 . L'etichetta database_id sarà (default) per i database creati senza un nome specifico. |
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 Google Cloud API. Il
consumed_api
tipo di risorsa monitorata contiene queste metriche comuni. Queste metriche vengono campionate ogni 30 minuti, con un conseguente appiattimento dei dati.
Un'etichetta risorsa importante per le metriche serviceruntime
è method
. Questa etichetta rappresenta il metodo RPC sottostante chiamato. Il metodo SDK chiamato 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 comprendere in che modo la tua applicazione interagisce con Firestore, è importante comprendere le metriche in base al nome del metodo RPC.
Se vuoi sapere qual è il metodo RPC sottostante per un determinato metodo SDK, consulta la documentazione dell'API.
Utilizza le seguenti metriche di runtime del servizio per monitorare il database.
api/request_latencies
La metrica api/request_latencies
fornisce le distribuzioni delle latenze per tutte le richieste completate.
Firestore registra le metriche del componente Firestore Service. Le metriche sulla latenza includono il momento in cui Firestore riceve la richiesta e il momento in cui 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 Firestore non è inclusa in queste metriche.
Metriche relative alle operazioni sui documenti
Firestore fornisce conteggi di letture, scritture ed eliminazioni. La metrica scrittura fornisce una suddivisione tra le operazioni "CREATE" e "UPDATE". Queste metriche sono in linea con le operazioni CRUD.
Le seguenti metriche possono essere utilizzate per capire se il database è sottoposto a un elevato volume di letture o di scritture e il rapporto tra nuovi documenti ed eliminati.
document/delete_ops_count
: il numero di eliminazioni di documenti riuscite.document/read_ops_count
: il numero di letture dei documenti riuscite da query o ricerche.document/write_ops_count
: il numero di scritture di documenti riuscite.
Metriche dell'indice
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
: 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 il momento in cui è stato effettivamente eliminato.
Creare dashboard di 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 i criteri di avviso per il tuo progetto nell'ambiente di produzione.
Per scoprire di più sulla configurazione di una dashboard personalizzata, vedi Gestire una dashboard personalizzata e Aggiungere widget della dashboard.
Crea un criterio di avviso
Cloud Monitoring ti consente di creare avvisi per informarti quando si verifica una modifica in una condizione della metrica. Puoi utilizzare questi avvisi per ricevere una notifica di potenziali problemi prima che si ripercuotano sugli utenti.
Per saperne di più sulla creazione di avvisi, consulta Creare criteri di avviso basati su soglie di metriche.
Considera l'esempio seguente in cui viene creato un criterio di avviso sulla 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 Google Cloud console, vai alla pagina Monitoraggio e poi seleziona notifications Avvisi.
Seleziona Crea criterio.
Seleziona la metrica Tempi di latenza della richiesta dalla risorsa API consumata.
Aggiungi un filtro di servizio per
firestore.googleapis.com
per i database Firestore Native.Fai clic su Avanti per configurare l'attivatore.
Seleziona Soglia come Tipo di condizione.
Una condizione di soglia è impostata su un valore di soglia di 250 ms. Viene attivato un avviso quando il valore della latenza P99 rimane invariato per l'intero periodo della finestra mobile (5 minuti).
Imposta il Valore soglia su 250.
Fai clic su Avanti per configurare le notifiche.
Imposta il nome del criterio di avviso e fai clic su Avanti.
Esamina le configurazioni degli avvisi e fai clic su Crea criterio.
MQL
Puoi implementare lo stesso criterio di avviso sulla 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'