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

GILT FÜR: NoSQL MongoDB Cassandra Gremlin Tabelle

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 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 Serverseitige Latenz: direkt Serverseitige Latenz: Gateway
SQL
MongoDB
Cassandra
Gremlin
Tabelle

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 dauerhafte hohe Latenz bei 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 beim 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 für Serverseitige Latenz: direkt 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 Sie Serverseitige Latenz: Gateway und als Aggregationswert Durchschn. 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 als OperationType aus. 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

Sie können die Metriken mit der Option Teilung anwenden auch gruppieren.

Hinweis

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 Metrik CollectionName entsprechend <empty> ist, bedeutet dies, dass das Ziel kein Container ist, sondern eine andere Ressource in Azure Cosmos DB.

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