Datenbanken mit Cloud Monitoring überwachen
Auf dieser Seite wird beschrieben, wie Sie mit einem Cloud Monitoring-Dashboard verfügbare Messwerte ansehen, ein benutzerdefiniertes Dashboard erstellen und Benachrichtigungen einrichten.Messwerte für Firestore mit MongoDB-Kompatibilität ansehen
Wenn Sie die verschiedenen Messwerte für Firestore mit MongoDB-Kompatibilität aufrufen und Diagramme erstellen möchten, haben Sie folgende Möglichkeiten:
Die Seite Monitoring im Firestore-Bereich der Google Cloud Console. Diese Seite enthält ein vordefiniertes Monitoring-Dashboard. Sie können auch ein benutzerdefiniertes Dashboard erstellen. So rufen Sie die Seite Monitoring für eine Datenbank auf:
Öffnen Sie in der Google Cloud Console die Firestore-Seite Databases (Datenbanken).
Wählen Sie eine Datenbank aus der Liste aus.
Klicken Sie im Navigationsmenü auf Monitoring, um ein Dashboard zu öffnen.
Der Metrics Explorer in Cloud Monitoring in der Google Cloud Console. Weitere Informationen zum Erstellen von Diagrammen finden Sie unter Diagramme mit dem Metrics Explorer erstellen.
Ü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.
Mit der Cloud Monitoring API wird die Leistung von Firestore mit MongoDB-Kompatibilität 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 . Das Label database_id wird für Datenbanken, die ohne einen bestimmten Namen erstellt wurden, zu (default) . |
Messwerte
Eine vollständige Liste der Messwerte für Firestore finden Sie unter 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 erfasst, 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, muss nicht unbedingt denselben Namen wie die zugrunde liegende RPC-Methode haben. Das liegt daran, dass das SDK eine API-Abstraktion auf hoher Ebene bietet. Wenn Sie jedoch nachvollziehen möchten, wie Ihre Anwendung mit 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.
Verwenden Sie die folgenden Messwerte für die Dienstlaufzeit, um Ihre Datenbank zu überwachen.
api/request_latencies
Der Messwert api/request_latencies
gibt die Latenzverteilungen für alle abgeschlossenen Anfragen an.
Firestore erfasst Messwerte aus der Komponente Firestore-Dienst. Latenzmesswerte umfassen die Zeit, die Firestore benötigt, um die Anfrage zu empfangen und die Antwort zu senden, einschließlich der Interaktionen mit der Speicherebene. Aus diesem Grund ist die Round-Trip-Latenz (RTT) zwischen dem Client und dem Firestore-Dienst nicht in diesen Messwerten enthalten.
Messwerte für Dokumentvorgänge
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.
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 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.
Benutzerdefinierte Cloud Monitoring-Dashboards erstellen
In Cloud Monitoring können Sie mit benutzerdefinierten Dashboards relevante Informationen auf eine für Sie geeignete Weise organisieren. 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
Mit Cloud Monitoring können Sie Benachrichtigungen erstellen, um sich benachrichtigen 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 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.com
für Firestore Native-Datenbanken hinzu.Klicken Sie auf Weiter, um den Trigger zu konfigurieren.
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.
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 Latenzbenachrichtigungsrichtlinie 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'