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 einen eindeutigen Satz von Messwerten, die untersucht, über ein Dashboard gemeldet oder zum Erstellen von Benachrichtigungen verwendet werden können. Jede Ressource hat außerdem eine Reihe von Ressourcenlabels. Das sind Schlüssel/Wert-Paare, die zusätzliche Informationen zur Ressource enthalten. Ressourcenlabels sind für alle Messwerte verfügbar, die mit der Ressource verknüpft sind.
Bei Verwendung der Cloud Monitoring API wird die Leistung von Cloud Firestore mit der folgenden Ressource überwacht:
| Ressourcen | Beschreibung |
firestore.googleapis.com/Database | Überwachter Ressourcentyp, 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.
Dienstlaufzeitmesswerte
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 erfasst, was zu einer Glättung der Daten führt.
Ein wichtiges Ressourcenlabel für die serviceruntime-Messwerte ist method. Dieses Label steht für die zugrunde liegende RPC-Methode, die aufgerufen wird. Die von Ihnen aufgerufene SDK-Methode muss nicht unbedingt denselben Namen wie die zugrunde liegende RPC-Methode haben. Der Grund dafür ist, 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öchten, 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 liefert Latenzverteilungen für alle abgeschlossenen Anfragen.
Cloud Firestore zeichnet Messwerte aus der Komponente Cloud Firestore-Dienst auf. Latenzmesswerte umfassen die Zeit, die Cloud Firestore für den Empfang der Anfrage benötigt, bis zu dem Zeitpunkt, an dem Cloud Firestore die Antwort sendet, einschließlich Interaktionen mit der Speicherebene. Daher ist die Roundtrip-Latenz (rtt) zwischen dem Client und dem Cloud Firestore-Dienst nicht in diesen Messwerten enthalten.
Messwerte für Dokumentvorgänge
Cloud Firestore liefert die Anzahl der Lese-, Schreib- und Löschvorgänge. Der Messwert „Schreiben“ 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 eher lese- oder schreibintensiv ist, und die Rate neuer Dokumente im Vergleich zu gelöschten Dokumenten ermitteln.
document/delete_ops_count: Die Anzahl der erfolgreich gelöschten Dokumente.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
Verwenden Sie diese Messwerte, um die Abrechnungsnutzung zu verstehen. 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 Echtzeit-Update-Einheiten aus Echtzeit-Updates. Dies gilt nur für Cloud Firestore im nativen Modus.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 Schreibeinheiten von verwalteten Löschdiensten wie TTL.
Indexmesswerte
Indexschreibraten können mit dem Messwert document/write_ops_count verglichen werden, um das Index-Fanout zu verstehen.
index/write_count: Anzahl der Indexschreibvorgänge.
TTL-Messwerte
Die TTL-Messwerte für Cloud Firestore-Messwerte werden verwendet, um die Auswirkungen der erzwungenen TTL-Richtlinie zu überwachen.
document/ttl_deletion_count: Gesamtzahl der von TTL-Diensten gelöschten Dokumente.document/ttl_expiration_to_deletion_delays: 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 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 gelesenen, geschriebenen und gelöschten Dokumente im Zeitverlauf zu sehen.
Zugriffssteuerung
Für die Nutzungs-Dashboards ist die IAM-Berechtigung (Identity and Access Management) monitoring.timeSeries.list erforderlich.
Die Rollen „Project Owner“, „Project Editor“ und „Project Viewer“ gewähren diese Berechtigung. 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 Monitoring 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.
Leistungsmesswerte der Datenbank aufrufen
Die Seite Monitoring im Abschnitt Cloud Firestore der Google Cloud Console enthält vordefinierte Monitoring-Dashboards wie Anfragelatenzen (P50 und P99), Antwortcodes und 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 Seite Datenbanken von Cloud Firestore.
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 Informationen, die für Sie relevant sind, ü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 Benutzerdefiniertes Dashboard verwalten und Dashboard-Widgets hinzufügen.
Benachrichtigungsrichtlinie erstellen
In Cloud Monitoring können Sie Benachrichtigungen erstellen, um sich über Änderungen an einer Messwertbedingung informieren zu lassen. Mit diesen Benachrichtigungen können Sie sich über potenzielle Probleme informieren lassen, 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 Anfragelatenzen aus der Ressource Consumed 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 als Bedingungstypen die Option Schwellenwert aus.
Eine Grenzwertbedingung ist auf einen Grenzwert 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 Grenzwert 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'