Auf dieser Seite wird beschrieben, wie Sie Cloud Monitoring Messwerte für Cloud Firestore verwenden, um Ihre Datenbank zu überwachen.
Cloud Monitoring Messwerte für Cloud Firestore
In den folgenden Abschnitten finden Sie eine Übersicht über die für Cloud Firestore verfügbaren Messwerte.
Überwachte Ressourcen
Eine überwachte Ressource in Cloud Monitoring stellt eine logische oder physische Entität dar, z. B. eine virtuelle Maschine, eine Datenbank oder eine Anwendung. Überwachte Ressourcen enthalten eine eindeutige Gruppe von Messwerten, die analysiert, über ein Dashboard gemeldet 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.
Mit der Cloud Monitoring API, Cloud Firestore Leistung wird die Leistung mit der folgenden Ressource überwacht:
| 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 Typ der
consumed_api
überwachten Ressource enthält diese allgemeinen Messwerte. Diese Messwerte werden alle 30 Minuten erfasst, wodurch die Daten geglättet werden.
Ein wichtiges Ressourcenlabel für die serviceruntime-Messwerte ist method. Dieses Label stellt die zugrunde liegende aufgerufene RPC-Methode dar. Die von Ihnen aufgerufene SDK-Methode hat möglicherweise nicht denselben Namen wie die zugrunde liegende RPC-Methode. Das liegt daran, dass das SDK eine API-Abstraktion auf höherer Ebene bietet. Wenn Sie jedoch verstehen 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üssen, welche zugrunde liegende RPC-Methode für eine bestimmte SDK-Methode verwendet wird, lesen Sie die API-Dokumentation.
api/request_latencies
Der Messwert api/request_latencies bietet Latenzverteilungen für alle abgeschlossenen Anfragen.
Cloud Firestore erfasst Messwerte aus der Cloud Firestore Service Komponente. 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 Messwert für Schreibvorgänge bietet eine Aufschlüsselung zwischen den Vorgängen „CREATE“ und „UPDATE“. Diese Messwerte sind auf CRUD-Vorgänge abgestimmt.
Anhand der folgenden Messwerte können Sie feststellen, ob Ihre Datenbank lese- oder schreiblastig ist, und die Rate neuer Dokumente im Vergleich zu gelöschten Dokumenten ermitteln.
document/delete_ops_count: Die Anzahl der erfolgreichen Löschvorgänge für Dokumente.document/read_ops_count: Die Anzahl der erfolgreichen Lesevorgänge für Dokumente aus Abfragen oder Suchvorgängen.document/write_ops_count: Die Anzahl der erfolgreichen Schreibvorgänge für Dokumente.
Abrechnungsmesswerte
Anhand dieser Messwerte können Sie die Abrechnungsnutzung nachvollziehen. Diese Messwerte enthalten keine Abrechnung für Administratorvorgänge (Indexierung, Import, Export und Bulk-Löschen).
api/billable_read_units: Die Anzahl der abrechenbaren Leseeinheiten. Die Nutzung kann nach Dienstname und API-Methode aufgeschlüsselt werden.api/billable_realtime_read_units: Die Anzahl der abrechenbaren Einheiten für Echtzeitaktualisierungen aus Echtzeitaktualisierungen. Dies gilt nur für Cloud Firestore im nativen Modus.api/billable_write_units: Die Anzahl der abrechenbaren Schreibvorgänge. Die Nutzung kann nach Dienstname und API-Methode aufgeschlüsselt werden.document/billable_managed_delete_write_units: Die Anzahl der abrechenbaren Schreibvorgänge aus verwalteten Löschdiensten wie TTL.
Indexmesswerte
Die Schreibvorgänge für Indexe können mit dem Messwert document/write_ops_count verglichen werden, um den Index-Fanout zu ermitteln.
index/write_count: Anzahl der Indexschreibvorgänge.
TTL-Messwerte
Die TTL-Messwerte für Cloud Firestore Messwerte werden verwendet, um die Auswirkungen der TTL-Richtlinie zu überwachen.
document/ttl_deletion_count: Gesamtzahl der Dokumente, die von TTL-Diensten gelöscht wurden.document/ttl_expiration_to_deletion_delays: Zeit zwischen dem Ablauf eines Dokuments mit einer TTL und dem tatsächlichen Löschen.
Vordefinierte Dashboards ansehen und benutzerdefinierte Dashboards erstellen
Cloud Firestore unterstützt vordefinierte Dashboards, die Cloud Monitoring Messwerte verwenden. Sie können auch benutzerdefinierte Dashboards erstellen.
Messwerte zur Datenbanknutzung ansehen
Öffnen Sie die Nutzungs-Dashboards in der Google Cloud Console, um die Anzahl der Lese-, Schreib- und Löschvorgänge für Dokumente im Zeitverlauf zu sehen.
Zugriffssteuerung
Für die Nutzungs-Dashboards ist die 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
So rufen Sie Nutzungsmesswerte für eine Cloud Firestore Datenbank auf:
Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.
Wählen Sie die benötigte Datenbank aus der Liste der Datenbanken aus.
Klicken Sie im Navigationsmenü auf Nutzung.
Nutzungs-Dashboard und Abrechnungsberichte
Die Cloud Firestore Nutzungsdashboards in der 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. 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 verursachen Abweichungen zwischen dem Nutzungs-Dashboard und der abgerechneten Nutzung. Lese- und Schreibvorgänge, die von diesen Vorgängen ausgeführt werden, werden nicht im Nutzungs-Dashboard angezeigt.
Leistungsmesswerte für Datenbanken ansehen
Die Seite Monitoring im Cloud Firestore Bereich 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 bis zu ein benutzerdefiniertes Dashboard erstellen. So rufen Sie die Seite Monitoring für eine Datenbank auf:
Öffnen Sie in der Google Cloud Console die Cloud Firestore Datenbanken Seite.
Wählen Sie eine Datenbank aus der Liste aus.
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, die für Sie relevant sind, auf organisierte Weise anzeigen. 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 Benutzerdefiniertes Dashboard verwalten und Dashboard-Widgets hinzufügen.
Benachrichtigungsrichtlinie erstellen
In Cloud Monitoring, können Sie Benachrichtigungen erstellen, um sich benachrichtigen zu lassen, wenn sich eine Messwertbedingung ändert. Mit diesen Benachrichtigungen können Sie über potenzielle Probleme informiert werden, bevor sie sich auf Ihre Nutzer auswirken.
Weitere Informationen zum Erstellen von Benachrichtigungen finden Sie unter Benachrichtigungsrichtlinien mit Messwertschwellen erstellen.
Sehen Sie sich das folgende Beispiel an, in dem wir eine Benachrichtigungsrichtlinie für die Latenz erstellen. Die Benachrichtigungsrichtlinie prüft die P99-Latenz über ein rollierendes Zeitfenster von 5 Minuten. Wenn die P99-Latenz 5 Minuten lang über 250 ms bleibt, wird die Benachrichtigung ausgelöst.
Console
Rufen Sie in der Google Cloud Console die Seite Monitoring auf und wählen Sie dann notifications Benachrichtigungen aus.
Wählen Sie Richtlinie erstellen aus.
Wählen Sie den Messwert Request Latencies (Anfragelatenzen) aus der Ressource Consumed API (Verwendete API) aus.
Fügen Sie einen Dienstfilter für
firestore.googleapis.comfür Firestore-Datenbanken im nativen Modus hinzu.Klicken Sie auf Weiter , um den Trigger zu konfigurieren.
Wählen Sie Schwellenwert als Bedingungstypen aus.
Eine Schwellenwertbedingung wird auf einen 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.
Legen Sie den Schwellenwert auf 250 fest.
Klicken Sie auf Weiter , um Benachrichtigungen zu konfigurieren.
Legen Sie den Namen der Benachrichtigungsrichtlinie fest und klicken Sie auf Weiter.
Prüfen Sie die Benachrichtigungskonfigurationen und klicken Sie auf Richtlinie erstellen.
MQL
Sie können dieselbe Benachrichtigungsrichtlinie für die Latenz 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'