Monitora l'attività di Cloud Firestore

Questa pagina descrive come monitorare l'utilizzo di Cloud Firestore e individuare potenziali problemi nella tua app.

Dashboard sull'utilizzo

Utilizza le dashboard di utilizzo nella console Google Cloud e nella console Firebase per visualizzare le letture, le scritture e le eliminazioni dei documenti nel tempo.

Controllo degli accessi

Le dashboard di utilizzo richiedono l'autorizzazione Cloud 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, apri la pagina Utilizzo del database nella console Google Cloud.

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

    Vai a Database

  2. Seleziona il database richiesto dall'elenco dei database.

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

  4. Fai clic sul link nel messaggio visualizzato nella pagina per visualizzare l'utilizzo del database.

    La dashboard sull'utilizzo del database nella console.

Dashboard di utilizzo aggregato

Se il tuo progetto ha più database Cloud Firestore, puoi visualizzare le metriche di utilizzo aggregate nella console Google Cloud o nella console Firebase.

Console Google Cloud

Nella console Google Cloud, vai alla pagina Utilizzo del progetto.

Vai all'utilizzo del progetto Google Cloud

La dashboard di utilizzo del progetto mostra le operazioni sui documenti nel tempo come segue:

La dashboard di utilizzo del progetto nella console Google Cloud.

Console Firebase

Vai alla pagina di utilizzo di Cloud Firestore (console Firebase)

La dashboard sull'utilizzo nella console Firebase.

Dashboard di utilizzo e report sulla fatturazione

Le dashboard sull'utilizzo di Cloud Firestore nelle console Firebase e Cloud 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. In tutti i casi di discrepanza, il report sulla fatturazione ha la precedenza sulla dashboard sull'utilizzo.

Le operazioni che causano discrepanze tra la dashboard di utilizzo e l'utilizzo fatturato includono:

  • Operazioni di importazione ed esportazione. Le letture e le scritture eseguite da queste operazioni non vengono visualizzate nella dashboard di utilizzo.
  • Scritture autonome di sola verifica. Le scritture che verificano solo l'esistenza o la non esistenza di un documento contribuiscono alle operazioni di lettura fatturate, ma vengono visualizzate rispettivamente come UPDATE_NOOP e DELETE_NOOP nella dashboard di utilizzo della scrittura.
  • Scritture no-op. Le operazioni che non comportano una modifica al database, come un aggiornamento che non modifica i valori dei campi o una scrittura in un documento eliminato, potrebbero essere visualizzate nella dashboard di utilizzo come UPDATE_NOOP o DELETE_NOOP. Anche se vengono visualizzate come NOOP, contribuiscono comunque alle operazioni fatturate.
  • Scritture compresse. In caso di più scritture nello stesso documento in rapida successione, la dashboard di utilizzo potrebbe raggruppare più scritture e conteggiarle come una sola. Quando viene fatturato l'utilizzo, ogni scrittura viene comunque conteggiata separatamente.

    La dashboard di utilizzo comprime anche le scritture per le trasformazioni dei campi, come i timestamp del server, gli incrementi numerici e le operazioni di unione degli array. Per le trasformazioni dei campi, la dashboard di utilizzo potrebbe conteggiare più operazioni come una singola operazione.

  • Query che non restituiscono risultati. Le query con zero risultati comportano il costo di un'operazione di lettura. Questo utilizzo viene fatturato, ma non viene visualizzato nella dashboard di utilizzo.
  • Operazioni di lettura da voci di indice lette. Questo utilizzo viene fatturato, ma non viene visualizzato nella dashboard di utilizzo. Ad esempio, le query di aggregazione vengono fatturate per le voci dell'indice lette, ma questo utilizzo non viene visualizzato nella dashboard di utilizzo.
  • Richieste di elencare gli ID raccolta. La dashboard di utilizzo segnala un'operazione di lettura per ID raccolta, che è diversa dalla fatturazione.

La dashboard di utilizzo per le eliminazioni non acquisisce le operazioni di scadenza automatica eseguite dalle policy di durata (TTL). Consulta le metriche TTL di Cloud Monitoring.

Utilizzo delle regole di sicurezza

Inoltre, la console Firebase fornisce una dashboard di valutazione delle regole di sicurezza Firebase, una visualizzazione utile e immediata delle chiamate delle regole. Puoi anche monitorare l'utilizzo delle regole di sicurezza Firebase tramite Cloud Monitoring. In questo modo, puoi ottenere le stesse metriche di valutazione delle regole, oltre alla possibilità di creare dashboard personalizzate, analizzare le tendenze e configurare avvisi (ad esempio, quando si verifica un picco di richieste rifiutate). Per l'elenco completo delle metriche disponibili, consulta il riferimento alle metriche di Cloud Monitoring.

Vai a Regole

Dashboard di monitoraggio delle regole di sicurezza nella console Firebase.

Cloud Monitoring metriche

Cloud Monitoring raccoglie metriche, eventi e metadati dai prodotti Google Cloud. La dashboard di utilizzo nella console Cloud Firestore riporta gli stessi dati delle metriche. Per configurare dashboard personalizzate e avvisi di utilizzo, utilizza Cloud Monitoring.

Cloud Monitoring include le seguenti metriche Cloud Firestore:

Nome metrica Descrizione
Operazioni di lettura documenti

Il numero di letture di documenti riuscite. Puoi suddividere questa metrica in base al tipo di lettura: LOOKUP o QUERY.

Questa metrica non include le letture da operazioni di esportazione gestita o eliminazione in blocco.

Operazioni di scrittura documenti

Il numero di scritture di documenti riuscite. Puoi suddividere la metrica in base al tipo di scrittura: CREATE o UPDATE.

Questa metrica non include le scritture da operazioni di importazione gestite.

Operazioni di eliminazione documenti Il numero di eliminazioni di documenti riuscite.
Connessioni attive

Il numero di connessioni attive al tuo database.

Ogni SDK web e per dispositivi mobili attivo mantiene una singola connessione, che può essere condivisa tra più listener di snapshot. Le librerie client del server creano una connessione per listener di snapshot.

Listener snapshot

Il numero di listener snapshot in tutte le connessioni attive.

Conteggio delle eliminazioni della durata (TTL)

Numero totale di documenti eliminati dalle policy di durata (TTL).

Ritardi tra la scadenza e l'eliminazione della durata (TTL)

Tempo trascorso tra la scadenza di un documento in base a una policy di durata (TTL) e la sua effettiva eliminazione.

Utilizzo degli aggiornamenti in tempo reale

Utilizza le metriche relative alle connessioni attive e ai listener snapshot per misurare l'utilizzo degli aggiornamenti in tempo reale.

Supponiamo che un utente apra la tua app sul suo smartphone. L'app si connette quindi a Cloud Firestore e si iscrive a 10 query. In questo modo, le tue metriche aumentano di 1 connessione attiva e 10 listener snapshot.

Frequenza di campionamento

Le metriche Cloud Firestore vengono campionate ogni minuto, ma gli aggiornamenti potrebbero richiedere fino a 4 minuti per essere visualizzati nelle dashboard.

Metriche di latenza

Le metriche di latenza del backend sono disponibili tramite le metriche Google Cloud firestore comuni.

Ad esempio, un grafico della latenza p50 è disponibile nella visualizzazione Esplora metriche della console Cloud.

Configura una dashboard Cloud Monitoring

Per visualizzare una dashboard predefinita o per configurarne una, consulta Utilizza la dashboard di monitoraggio.

Passaggi successivi