Monitorare le metriche dei database

Pertinente solo per la versione Enterprise di Cloud Firestore.

Questa pagina descrive come utilizzare le metriche Cloud Monitoring per Cloud Firestore con compatibilità MongoDB per monitorare il tuo database.

Metriche Cloud Monitoring per Cloud Firestore con compatibilità MongoDB

Le sezioni seguenti forniscono una panoramica delle metriche disponibili per Cloud 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 Cloud 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 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 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 Cloud 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.

Cloud Firestore registra le metriche del componente Cloud Firestore Service. Le metriche di latenza includono il tempo che intercorre tra la ricezione della richiesta da parte di Cloud Firestore e il completamento dell'invio della risposta da parte di Cloud Firestore, 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 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 Cloud 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

Cloud Firestore con compatibilità MongoDB 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 letture, scritture ed eliminazioni di 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 Cloud Firestore con compatibilità MongoDB, procedi nel seguente modo.

  1. Nella console Google Cloud, vai alla pagina Database.

    Vai a Database

  2. Seleziona il database richiesto dall'elenco.

  3. Nel menu di navigazione, fai clic su Utilizzo.

Dashboard sull'utilizzo e report di 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 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 Cloud Firestore della console Google Cloud include dashboard di monitoraggio predefinite come Latenze delle richieste (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:

  1. Nella console Google Cloud, apri la pagina Cloud Firestore Database.

    Vai a Database

  2. Seleziona un database dall'elenco.

  3. Nel menu di navigazione, fai clic su Monitoring per aprire una dashboard.

Creare dashboard Cloud Monitoring personalizzate

In Cloud Monitoring, le dashboard personalizzate ti consentono di visualizzare in modo organizzato le informazioni che ti interessano. 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

  1. Nella console Google Cloud, vai alla pagina Monitoring e poi seleziona   Avvisi.

    Vai a Monitoring

  2. Seleziona Crea policy.

  3. Seleziona la metrica Latenze richieste dalla risorsa API utilizzata.

  4. Aggiungi un filtro del servizio per firestore.googleapis.com per i database standard Cloud Firestore.

  5. Fai clic su Avanti per configurare il trigger.

  6. 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).

  7. Imposta Valore soglia su 250.

  8. Fai clic su Avanti per configurare le notifiche.

  9. Imposta il nome della policy di avviso e fai clic su Avanti.

  10. 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'