Cloud Firestore-Aktivitäten überwachen

Auf dieser Seite wird beschrieben, wie Sie die Nutzung von Cloud Firestore überwachen und potenzielle Probleme in Ihrer App erkennen können.

Nutzungs-Dashboard

Mit den Nutzungsdashboards in der Google Cloud Console und der Firebase Console können Sie die Anzahl der Lese-, Schreib- und Löschvorgänge für Dokumente im Zeitverlauf ansehen.

Zugriffssteuerung

Für die Nutzungsdashboards ist die Cloud IAM-Berechtigung monitoring.timeSeries.list erforderlich. Diese Berechtigung ist in den Rollen „Projektinhaber“, „Bearbeiter“ und „Betrachter“ enthalten. Sie können diese Berechtigung auch über eine Cloud Monitoring-Rolle oder eine benutzerdefinierte Rolle gewähren.

Dashboard zur Datenbanknutzung

Wenn Sie Nutzungsmesswerte für eine Cloud Firestore-Datenbank aufrufen möchten, öffnen Sie in der Google Cloud Console die Seite Nutzung der Datenbank.

  1. Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.

    Zur Seite „Datenbanken“

  2. Wählen Sie die benötigte Datenbank aus der Liste der Datenbanken aus.

  3. Klicken Sie im Navigationsmenü auf Nutzung.

  4. Klicken Sie auf den Link in der Meldung, die auf der Seite angezeigt wird, um Ihre Datenbanknutzung aufzurufen.

    Das Dashboard zur Datenbanknutzung in der Console

Dashboard „Aggregierte Nutzung“

Wenn Ihr Projekt mehrere Cloud Firestore-Datenbanken hat, können Sie aggregierte Nutzungsmesswerte in der Google Cloud Console oder Firebase Console aufrufen.

Google Cloud Console

Rufen Sie in der Google Cloud Console die Seite Projektnutzung auf.

Google Cloud-Projektnutzung aufrufen

Das Dashboard zur Projektnutzung zeigt Dokumentvorgänge im Zeitverlauf so an:

Das Dashboard zur Projektnutzung in der Google Cloud Console.

Firebase Console

Zur Seite zur Cloud Firestore-Nutzung (Firebase Console)

Das Nutzungsdashboard in der Firebase Console.

Nutzungs-Dashboard und Abrechnungsberichte

Die Cloud Firestore-Nutzungsdashboards in der Firebase Console und der Cloud Console liefern eine Schätzung der Nutzung. Sie helfen Ihnen, Nutzungsspitzen zu erkennen. Das Dashboard bietet jedoch keine genaue Ansicht der abgerechneten Vorgänge. Die abgerechnete Nutzung ist wahrscheinlich höher. In allen Fällen einer Abweichung hat der Abrechnungsbericht Vorrang vor dem Nutzungs-Dashboard.

Folgende Vorgänge können Abweichungen zwischen dem Nutzungs-Dashboard und der abgerechneten Nutzung bedingen:

  • Import- und Exportvorgänge: Lese- und Schreibvorgänge, die von diesen Vorgängen ausgeführt werden, werden nicht im Nutzungs-Dashboard angezeigt.
  • Managementfreie Bestätigungsschreibvorgänge. Schreibvorgänge, bei denen nur die Existenz oder Nichtexistenz eines Dokuments überprüft wird, werden als abgerechnete Lesevorgänge gezählt, im Dashboard zur Schreibnutzung werden sie jedoch als UPDATE_NOOP bzw. DELETE_NOOP angezeigt.
  • Managementfreie Schreibvorgänge. Vorgänge, die keine Änderung an der Datenbank zur Folge haben, z. B. eine Aktualisierung, bei der sich die Feldwerte nicht ändern, oder ein Schreibvorgang in ein gelöschtes Dokument, werden im Nutzungsdashboard möglicherweise als UPDATE_NOOP oder DELETE_NOOP angezeigt. Obwohl sie als NOOP angezeigt werden, tragen sie zu den abgerechneten Vorgängen bei.
  • Minimierte Schreibvorgänge. Wenn mehrere Schreibvorgänge in dasselbe Dokument schnell hintereinander sind, kann das Nutzungs-Dashboard mehrere Schreibvorgänge zusammenfassen und als einer zählen. Bei der Abrechnungsnutzung wird jeder Schreibvorgang trotzdem separat gezählt.

    Das Nutzungs-Dashboard minimiert auch Schreibvorgänge für Feldtransformationen wie Server-Zeitstempel, numerische Inkremente und Array-Union-Vorgänge. Bei Feldtransformationen kann das Nutzungs-Dashboard mehrere Vorgänge als einen Vorgang zählen.

  • Abfragen, die keine Ergebnisse zurückgeben Für Abfragen ohne Ergebnisse fallen Kosten für einen Lesevorgang an. Diese Nutzung wird in Rechnung gestellt, aber nicht im Nutzungs-Dashboard angezeigt.
  • Lesevorgänge aus Gelesene Indexeinträge. Diese Nutzung wird abgerechnet, ist aber nicht im Nutzungsdashboard zu sehen. Für Aggregationsabfragen werden beispielsweise gelesene Indexeinträge in Rechnung gestellt, diese Nutzung wird aber nicht im Nutzungsdashboard angezeigt.
  • Anfragen zum Auflisten von Sammlungs-IDs. Im Nutzungsdashboard wird ein Lesevorgang pro Sammlungs-ID gemeldet, was sich von der Abrechnung unterscheidet.

Im Nutzungsdashboard für Löschvorgänge werden keine automatischen Ablaufvorgänge erfasst, die durch Richtlinien zur Gültigkeitsdauer (Time-to-Live, TTL) ausgeführt werden. Weitere Informationen finden Sie in den TTL-Messwerten von Cloud Monitoring.

Sicherheitsregeln anwenden

Außerdem bietet die Firebase Console ein Dashboard zur Auswertung von Firebase-Sicherheitsregeln, das einen nützlichen Überblick über die Aufrufe von Regeln bietet. Sie können die Nutzung von Firebase-Sicherheitsregeln auch über Cloud Monitoring überwachen. Sie erhalten dieselben Messwerte für die Regelauswertung und können benutzerdefinierte Dashboards erstellen, Trends analysieren und Benachrichtigungen konfigurieren (z. B. wenn die Anzahl abgelehnter Anfragen steigt). Eine vollständige Liste der verfügbaren Messwerte finden Sie in der Cloud Monitoring-Messwertreferenz.

Zu den Regeln

Dashboard für das Monitoring von Sicherheitsregeln in der Firebase Console.

Cloud Monitoring Messwerte

Cloud Monitoring erfasst Messwerte, Ereignisse und Metadaten aus Google Cloud-Produkten. Im Nutzungs-Dashboard in der Cloud Firestore Console werden dieselben Messwertdaten angezeigt. Wenn Sie benutzerdefinierte Dashboards und Nutzungsbenachrichtigungen einrichten möchten, verwenden Sie Cloud Monitoring.

Cloud Monitoring enthält die folgenden Cloud Firestore-Messwerte:

Name des Messwerts Beschreibung
Lesevorgänge für das Dokument

Die Anzahl der erfolgreichen Dokumentlesevorgänge. Sie können diesen Messwert nach Art des Lesevorgangs aufschlüsseln: LOOKUP oder QUERY.

Dieser Messwert enthält keine Lesevorgänge aus verwalteten Export- oder Bulk-Löschvorgängen.

Schreibvorgänge für das Dokument

Die Anzahl der erfolgreichen Dokumentschreibvorgänge. Sie können den Messwert nach der Art des Schreibvorgangs aufschlüsseln: CREATE oder UPDATE.

Dieser Messwert enthält keine Schreibvorgänge aus verwalteten Importvorgängen.

Löschvorgänge für das Dokument Die Anzahl der erfolgreichen Dokumentlöschvorgänge.
Aktive Verbindungen

Die Anzahl der aktiven Verbindungen zu Ihrer Datenbank.

Jedes aktive mobile und Web-SDK hält eine einzelne Verbindung, die für mehrere Snapshot-Listener freigegeben werden kann. Die Server-Client-Bibliotheken erstellen eine Verbindung pro Snapshot-Listener.

Snapshot-Listener

Die Anzahl der Snapshot-Listener für alle aktiven Verbindungen.

Anzahl der Löschungen aufgrund der Gültigkeitsdauer

Gesamtzahl der Dokumente, die durch Richtlinien zur Gültigkeitsdauer (TTL) gelöscht wurden.

Verzögerungen beim Löschen nach Ablauf der Gültigkeitsdauer

Die Zeit, die zwischen dem Ablauf eines Dokuments gemäß einer Richtlinie zur Gültigkeitsdauer (Time-to-live, TTL) und dem tatsächlichen Löschen vergangen ist.

Nutzung bei Echtzeit-Update

Mithilfe der Messwerte für aktive Verbindungen und Snapshot-Listener können Sie die Nutzung von Echtzeit-Updates messen.

Angenommen, ein Nutzer öffnet Ihre App auf seinem Smartphone. Die App stellt dann eine Verbindung zu Cloud Firestore her und abonniert 10 Abfragen. Dadurch werden Ihre Messwerte um 1 aktive Verbindung und 10 Snapshot-Listener erhöht.

Abtastrate

Die Cloud Firestore-Messwerte werden jede Minute erfasst. Es kann jedoch bis zu vier Minuten dauern, bis Updates in Ihren Dashboards angezeigt werden.

Latenzmesswerte

Messwerte für die Backend-Latenz sind über die gängigen Google Cloud-Messwerte für Firestore verfügbar.

Ein Diagramm der P50-Latenz finden Sie beispielsweise in der Ansicht „Metrics Explorer“ der Cloud Console.

Cloud Monitoring-Dashboard einrichten

Informationen zum Aufrufen eines vordefinierten Dashboards oder zum Einrichten eines Dashboards finden Sie unter Monitoring-Dashboard verwenden.

Nächste Schritte