Datenbankmesswerte überwachen

Nur für die Cloud Firestore Enterprise-Edition relevant.

Auf dieser Seite wird beschrieben, wie Sie Cloud Monitoring-Messwerte für Cloud Firestore mit MongoDB-Kompatibilität verwenden, um Ihre Datenbank zu überwachen.

Cloud Monitoring-Messwerte für Cloud Firestore mit MongoDB-Kompatibilität

In den folgenden Abschnitten erhalten Sie einen Überblick über die für Cloud Firestore mit MongoDB-Kompatibilität verfügbaren Messwerte.

Überwachte Ressourcen

Eine überwachte Ressource in Cloud Monitoring stellt eine logische oder physische Einheit dar, z. B. eine virtuelle Maschine, eine Datenbank oder eine Anwendung. Überwachte Ressourcen enthalten eine Reihe von Messwerten, die untersucht, in einem Dashboard dargestellt oder zum Erstellen von Benachrichtigungen verwendet werden können. Jede Ressource hat auch eine Reihe von Ressourcenlabels, die Schlüssel/Wert-Paare sind und zusätzliche Informationen zur Ressource enthalten. Ressourcenlabels sind für alle Messwerte verfügbar, die mit der Ressource verknüpft sind.

Die Leistung von Cloud Firestore mit MongoDB-Kompatibilität wird mit der folgenden Ressource überwacht, wenn die Cloud Monitoring API verwendet wird:

Ressourcen Beschreibung
firestore.googleapis.com/Database Typ der überwachten Ressource, der Aufschlüsselungen für project, location und database_id bietet.

Messwerte

Eine vollständige Liste der Messwerte für Cloud Firestore finden Sie unter Cloud Firestore-Messwerte. Im folgenden Abschnitt werden einige der verfügbaren Messwerte beschrieben.

Laufzeitmesswerte für Dienste

Die serviceruntime-Messwerte bieten einen allgemeinen Überblick über den Traffic eines Projekts. Diese Messwerte sind für die meisten Google Cloud-APIs verfügbar. Der überwachte Ressourcentyp consumed_api enthält diese allgemeinen Messwerte. Diese Messwerte werden alle 30 Minuten erhoben, sodass die Daten geglättet werden.

Ein wichtiges Ressourcenlabel für die serviceruntime-Messwerte ist method. Dieses Label steht für die zugrunde liegende RPC-Methode, die aufgerufen wird. Die SDK-Methode, die Sie aufrufen, hat möglicherweise nicht denselben Namen wie die zugrunde liegende RPC-Methode. Der Grund dafür ist, dass das SDK eine API-Abstraktion auf hoher Ebene bietet. Wenn Sie jedoch nachvollziehen möchten, wie Ihre Anwendung mit Cloud Firestore interagiert, ist es wichtig, die Messwerte anhand des Namens der RPC-Methode zu verstehen.

Wenn Sie wissen möchten, welche zugrunde liegende RPC-Methode für eine bestimmte SDK-Methode verwendet wird, sehen Sie in der API-Dokumentation nach.

api/request_latencies

Der Messwert api/request_latencies gibt die Latenzverteilungen für alle abgeschlossenen Anfragen an.

Cloud Firestore erfasst Messwerte aus der Komponente Cloud Firestore Service. Latenzmesswerte umfassen die Zeit, die Cloud Firestore benötigt, um die Anfrage zu empfangen, bis Cloud Firestore die Antwort gesendet hat, einschließlich der Interaktionen mit der Speicherebene. Aus diesem Grund ist die Round-Trip-Latenz (RTT) zwischen dem Client und dem Cloud Firestore-Dienst nicht in diesen Messwerten enthalten.

Messwerte für Dokumentvorgänge

Cloud Firestore bietet Zählungen für Lese-, Schreib- und Löschvorgänge. Der Schreibvorgang-Messwert bietet eine Aufschlüsselung zwischen den Vorgängen „CREATE“ und „UPDATE“. Diese Messwerte sind an CRUD-Vorgängen ausgerichtet.

Anhand der folgenden Messwerte können Sie nachvollziehen, ob Ihre Datenbank hauptsächlich zum Lesen oder Schreiben verwendet wird und wie viele neue Dokumente im Vergleich zu gelöschten Dokumenten vorhanden sind.

  • document/delete_ops_count: Die Anzahl der erfolgreichen Dokumentlöschvorgänge.
  • document/read_ops_count: Die Anzahl der erfolgreichen Dokumentlesevorgänge aus Abfragen oder Suchvorgängen.
  • document/write_ops_count: Die Anzahl der erfolgreichen Dokumentschreibvorgänge.

Abrechnungsmesswerte

Mithilfe dieser Messwerte können Sie die Abrechnungsnutzung nachvollziehen. Diese Messwerte enthalten keine Abrechnung für Administratorvorgänge (Indexierung, Import, Export und Bulk-Löschung).

  • api/billable_read_units: Die Anzahl der abrechenbaren Lese-Einheiten. Die Nutzung kann nach Dienstname und API-Methode aufgeschlüsselt werden.

  • api/billable_write_units: Die Anzahl der abrechenbaren Schreibeinheiten. Die Nutzung kann nach Dienstname und API-Methode aufgeschlüsselt werden.

  • document/billable_managed_delete_write_units: Die Anzahl der abrechenbaren Schreibvorgänge von verwalteten Löschdiensten wie TTL.

Indexmesswerte

Die Indexschreibvorgänge können dem Messwert document/write_ops_count gegenübergestellt werden, um den Index-Fanout zu ermitteln.

  • index/write_count: Anzahl der Indexschreibvorgänge.

Messwerte für die TTL

Die TTL-Messwerte für Cloud Firestore mit MongoDB-Kompatibilität werden verwendet, um die Auswirkungen der erzwungenen TTL-Richtlinie zu beobachten.

  • document/ttl_deletion_count: Gesamtzahl der von TTL-Diensten gelöschten Dokumente.
  • document/ttl_expiration_to_deletion_delays: Die Zeit, die zwischen dem Ablauf eines Dokuments mit einer TTL und dem tatsächlichen Löschen vergangen ist.

Vordefinierte Dashboards ansehen und benutzerdefinierte Dashboards erstellen

Cloud Firestore mit MongoDB-Kompatibilität unterstützt vordefinierte Dashboards, in denen Cloud Monitoring-Messwerte verwendet werden. Sie können auch benutzerdefinierte Dashboards erstellen.

Messwerte zur Datenbanknutzung ansehen

Öffnen Sie die Nutzungs-Dashboards in der Google Cloud Console, um das Lesen, Schreiben und Löschen von Dokumenten im Zeitablauf aufzurufen.

Zugriffssteuerung

Für die Nutzungs-Dashboards ist die IAM-Berechtigung monitoring.timeSeries.list (Identity and Access Management) 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

So rufen Sie Nutzungsmesswerte für eine Cloud Firestore-Datenbank mit MongoDB-Kompatibilität auf:

  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.

Nutzungs-Dashboard und Abrechnungsberichte

Die Cloud Firestore-Nutzungsdashboards in der Konsole 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. Informationen zum Überwachen der Abrechnung finden Sie unter Abrechnungsmesswerte.

In allen Fällen einer Abweichung hat der Abrechnungsbericht Vorrang vor dem Nutzungs-Dashboard.

Import- und Exportvorgänge können Abweichungen zwischen dem Nutzungsdashboard und der abgerechneten Nutzung bedingen. Lese- und Schreibvorgänge, die von diesen Vorgängen ausgeführt werden, werden nicht im Nutzungs-Dashboard angezeigt.

Messwerte zur Datenbankleistung ansehen

Die Seite Monitoring im Bereich Cloud Firestore der Google Cloud Console enthält vordefinierte Monitoring-Dashboards wie Request Latencies (P50 and P99) (Anfragelatenzen (P50 und P99)), Response Codes (Antwortcodes) und Query stats (P50) (Abfragestatistiken (P50)). Sie können auch ein benutzerdefiniertes Dashboard erstellen. So greifen Sie auf die Seite Monitoring für eine Datenbank zu:

  1. Öffnen Sie in der Google Cloud Console die Seite Cloud Firestore Datenbanken.

    Zur Seite „Datenbanken“

  2. Wählen Sie eine Datenbank aus der Liste aus.

  3. Klicken Sie im Navigationsmenü auf Monitoring, um ein Dashboard zu öffnen.

Benutzerdefinierte Cloud Monitoring-Dashboards erstellen

In Cloud Monitoring können Sie mit benutzerdefinierten Dashboards relevante Informationen übersichtlich darstellen. Sie können beispielsweise ein Dashboard erstellen, um die Leistungsmesswerte und Benachrichtigungsrichtlinien für Ihr Projekt in Ihrer Produktionsumgebung anzuzeigen.

Weitere Informationen zum Einrichten eines benutzerdefinierten Dashboards finden Sie unter Benutzerdefinierte Dashboards verwalten und Dashboard-Widgets hinzufügen.

Benachrichtigungsrichtlinie erstellen

In Cloud Monitoring können Sie Benachrichtigungen erstellen, um sich informieren zu lassen, wenn sich eine Messwertbedingung ändert. Sie können diese Benachrichtigungen verwenden, um über potenzielle Probleme informiert zu werden, bevor sie sich auf Ihre Nutzer auswirken.

Weitere Informationen zum Erstellen von Benachrichtigungen finden Sie unter Benachrichtigungsrichtlinien mit Messwertschwellen erstellen.

Im folgenden Beispiel erstellen wir eine Benachrichtigungsrichtlinie für die Latenz. Die Benachrichtigungsrichtlinie prüft die P99-Latenz über ein rollierendes Zeitfenster von 5 Minuten. Wenn die Latenz des 99. Perzentils fünf Minuten lang über 250 ms bleibt, wird die Benachrichtigung ausgelöst.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Monitoring auf und wählen Sie dann   Benachrichtigungen aus.

    Zu Monitoring

  2. Wählen Sie Richtlinie erstellen aus.

  3. Wählen Sie den Messwert Request Latencies (Anfragelatenzen) aus der Ressource Consumed API (Verwendete API) aus.

  4. Fügen Sie einen Dienstfilter für firestore.googleapis.com für Cloud Firestore-Standarddatenbanken hinzu.

  5. Klicken Sie auf Weiter, um den Trigger zu konfigurieren.

  6. Wählen Sie Schwellenwert als Bedingungstypen aus.

    Für eine Schwellenwertbedingung wird ein Schwellenwert von 250 ms festgelegt. Eine Benachrichtigung wird ausgelöst, wenn der p99-Latenzwert für den gesamten Zeitraum des rollierenden Zeitfensters (5 Minuten) gleich bleibt.

  7. Legen Sie den Grenzwert auf 250 fest.

  8. Klicken Sie auf Weiter, um Benachrichtigungen zu konfigurieren.

  9. Legen Sie den Namen der Benachrichtigungsrichtlinie fest und klicken Sie auf Weiter.

  10. Prüfen Sie die Benachrichtigungskonfigurationen und klicken Sie auf Richtlinie erstellen.

MQL

Sie können dieselbe Latenz-Benachrichtigungsrichtlinie auch mit einer MQL-Abfrage (Monitoring Query Language) implementieren. Weitere Beispiele für die Verwendung von MQL finden Sie unter Beispiel-MQL-Abfragen.

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'