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:

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

      Vai a Database

    2. Seleziona un database dall'elenco.

    3. 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

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

    Vai a Monitoring

  2. Seleziona Crea criterio.

  3. Seleziona la metrica Tempi di latenza della richiesta dalla risorsa API consumata.

  4. Aggiungi un filtro di servizio per firestore.googleapis.com per i database Firestore Native.

  5. Fai clic su Avanti per configurare l'attivatore.

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

  7. Imposta il Valore soglia su 250.

  8. Fai clic su Avanti per configurare le notifiche.

  9. Imposta il nome del criterio di avviso e fai clic su Avanti.

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