Überwachen der serverseitigen Latenz bei Vorgängen in einem Azure Cosmos DB-Container oder -Konto

Azure Monitor für Azure Cosmos DB verfügt über eine Metrikansicht zum Überwachen Ihres Kontos und zum Erstellen von Dashboards. Weil die Azure Cosmos DB-Metriken standardmäßig erfasst werden, müssen Sie bei diesem Feature nichts explizit aktivieren oder konfigurieren. Die Metriken für die direkte serverseitige Latenz und die Gatewaymetriken für die serverseitige Latenz werden verwendet, um die serverseitige Latenz eines Vorgangs in zwei verschiedenen Verbindungsmodi anzuzeigen. Verwenden Sie die Gatewaymetrik für die serverseitige Latenz, wenn sich der Anforderungsvorgang im Gatewayverbindungsmodus befindet. Verwenden Sie die direkte Metrik für die serverseitige Latenz, wenn sich der Anforderungsvorgang im direkten Verbindungsmodus befindet. Azure Cosmos DB bietet eine SLA von weniger als 10 ms für Punktlese-/Punktschreibvorgänge mit direkter Konnektivität. Bei Punktlese- und Punktschreibvorgängen werden die SLAs so berechnet, wie es im SLA-Dokument ausführlich erläutert wird. Weitere Informationen zum Verbindungsmodus finden Sie im Artikel Konnektivitätsmodi.

In der folgenden Tabelle ist angegeben, welche API serverseitige Latenzmetriken (direkt bzw. Gateway) unterstützt:

API Direkte serverseitige Latenz Gateway für serverseitige Latenz
SQL
MongoDB
Cassandra
Gremlin
Table

Sie können die Metriken für die serverseitige Latenz überwachen, wenn Sie eine ungewöhnlich hohe Latenz bei Punktvorgängen feststellen. Beispiele:

  • Ein GET- oder SET-Vorgang mit Partitionsschlüssel und ID
  • Ein Lese- oder Schreibvorgang oder
  • Eine Abfrage

Sie können im Diagnoseprotokoll nachschlagen, um die Größe der zurückgegebenen Daten zu ermitteln. Wenn Sie eine dauerhaft hohe Latenz bei den Abfragevorgängen feststellen, sollten Sie im Diagnoseprotokoll nach einem höheren verwendeten Durchsatz oder RU/s suchen. Die serverseitige Latenz gibt die Zeitspanne an, die in der Back-End-Infrastruktur aufgewendet wurde, bevor die Daten an den Client zurückgegeben wurden. Es ist wichtig, sich diese Metrik anzusehen, um jegliche Probleme mit der Back-End-Latenz auszuschließen.

Anzeigen der serverseitigen Latenzmetriken

  1. Melden Sie sich im Azure-Portal an.

  2. Wählen Sie in der Navigationsleiste auf der linken Seite die Option Monitor und dann Metrik aus.

    Bereich „Metriken“ in Azure Monitor

  3. Klicken Sie im Bereich Metriken auf >Ressource auswählen>. Wählen Sie dann das erforderliche Abonnement und die Ressourcengruppe aus. Wählen Sie unter Ressourcentyp die Option Azure Cosmos DB-Konten aus. Wählen Sie dann eines der vorhandenen Azure Cosmos DB-Konten und anschließend Übernehmen aus.

    Wählen Sie den Kontobereich für die Anzeige der Metriken

  4. Wählen Sie als Nächstes die Metrik für Serverseitige Latenz: Gateway in der Liste der verfügbaren Metriken aus, wenn Ihr Vorgang im Gatewayverbindungsmodus erfolgt. Wählen Sie die Metrik Serverseitige Latenz Direct aus, wenn der Vorgang im direkten Verbindungsmodus ausgeführt wird. Ausführliche Informationen zu allen verfügbaren Metriken in dieser Liste finden Sie im Artikel Metriken nach Kategorie. In diesem Beispiel wählen wir Server Side Latency Gateway und Durchschnitt als Aggregationswert aus. Zusätzlich zu diesen Angaben können Sie auch Zeitbereich und Zeitgranularität für die Metriken auswählen. Sie können Metriken maximal für die letzten 30 Tage anzeigen. Nach Anwendung des Filters wird ein darauf basierendes Diagramm angezeigt. Die serverseitige Latenz wird im Gatewayverbindungsmodus für den ausgewählten Zeitraum in 5-Minuten-Abständen angezeigt.

    Auswählen der serverseitigen Latenz-Gateway-Metrik über das Azure-Portal

Filter für serverseitige Latenz

Sie können Metriken und die angezeigten Diagramme auch nach bestimmten Werten für CollectionName, DatabaseName, OperationType, Region und PublicAPIType filtern.

Wählen Sie zum Filtern der Metriken Filter hinzufügen und dann die erforderliche Eigenschaft aus, z. B. PublicAPIType. Wählen Sie anschließend den Wert Sql aus. Wählen Sie Teilung anwenden für OperationType. Im Diagramm wird dann die serverseitige Latenz bei verschiedenen Vorgänge im Gatewayverbindungsmodus während des ausgewählten Zeitraums angezeigt. Die über eine gespeicherte Prozedur ausgeführten Vorgänge werden nicht protokolliert und sind daher nicht unter der Metrik „OperationType“ verfügbar.

Die Metriken für die serverseitige Latenz am Gateway für jeden Vorgang werden wie in der folgenden Abbildung dargestellt angezeigt:

Filter für serverseitige Latenz-Gateway-Metriken

Mit der Option Aufteilung anwenden können Sie die Metriken auch gruppieren.

Note

Anforderungen, die in Azure Cosmos DB eingehen, sind nicht immer auf einen Container ausgerichtet. Sie können z B. eine Datenbank innerhalb eines global verteilten Kontos erstellen und die Anforderung wird trotzdem für die serverseitige Latenzmetrik aufgezeichnet. Die Anforderung wird aufgezeichnet, da das Erstellen einer Datenbankressource zwar Zeit in Anspruch nimmt, aber nicht auf einen Container ausgerichtet ist. Wenn Sie sehen, dass der Wert der CollectionName-Metrik <empty> ist, bedeutet dies, dass das Ziel kein Container, sondern eine andere Ressource in Azure Cosmos DB ist.

Als Problemumgehung können Sie Ihre Metriken proaktiv auf einen bestimmten Container (CollectionName) filtern, um Anforderungen auszuschließen, die nicht spezifisch für den Container sind, der Gegenstand Ihrer Abfrage ist.

Nächste Schritte