Überwachen der Azure Cosmos DB-Daten mithilfe der Diagnoseeinstellungen in Azure

GILT FÜR: NoSQL MongoDB Cassandra Gremlin Tabelle

Diagnoseeinstellungen in Azure werden zum Sammeln von Ressourcenprotokollen verwendet. Ressourcen geben Azure-Ressourcenprotokolle aus und liefern umfangreiche und regelmäßige Daten über den Betrieb der jeweiligen Ressource. Diese Protokolle werden pro Anforderung erfasst und werden auch als „Datenebenenprotokolle“ bezeichnet“. Einige Beispiele für Datenebenenvorgänge sind „delete“, „insert“ und „readFeed“. Der Inhalt dieser Protokolle variiert je nach Ressourcentyp.

Plattformmetriken und das Aktivitätsprotokoll werden automatisch gesammelt, aber Sie müssen eine Diagnoseeinstellung erstellen, um Ressourcenprotokolle zu sammeln oder außerhalb von Azure Monitor weiterzuleiten. Sie können die Diagnoseeinstellung für Azure Cosmos DB-Konten aktivieren und Ressourcenprotokolle an die folgenden Quellen senden:

  • Log Analytics-Arbeitsbereiche
    • An Log Analytics gesendete Daten können in Azure-Diagnosetabellen (Legacy) oder ressourcenspezifische Tabellen (Vorschau) geschrieben werden
  • Event Hub
  • Speicherkonto

Hinweis

Sie sollten die Diagnoseeinstellung (für alle APIs außer der API für Table) im ressourcenspezifischen Modus erstellen. Befolgen Sie dazu unsere Anweisungen zum Erstellen der Diagnoseeinstellung über die REST-API. Diese Option bietet zusätzliche Kostenoptimierungen mit einer verbesserten Ansicht für die Verarbeitung von Daten.

Voraussetzungen

Erstellen von Diagnoseeinstellungen

Hier erfahren Sie mehr über den Prozess Diagnoseeinstellungen für Ihr Konto zu erstellen.

  1. Melden Sie sich beim Azure-Portal an.

  2. Navigieren Sie zu Ihrem Azure Cosmos DB-Konto. Öffnen Sie den Bereich Diagnoseeinstellungen im Überwachungsabschnitt, und wählen Sie dann die Option Diagnoseeinstellung hinzufügen aus.

    Sreenshot of the diagnostics selection page.

    Wichtig

    Möglicherweise wird die Eingabeaufforderung „Volltextabfrage [...] zur detaillierteren Protokollierung aktivieren“ angezeigt, wenn die Funktion Volltextabfrage in Ihrem Konto nicht aktiviert ist. Sie können diese Warnung bedenkenlos ignorieren, wenn Sie diese Funktion nicht aktivieren möchten. Weitere Informationen finden Sie unter Aktivieren der Volltextabfrage.

  3. Geben Sie im Bereich Diagnoseeinstellungen Ihre bevorzugten Kategorien in das Formular ein. Hier ist eine Liste der Protokollkategorien enthalten.

    Kategorie API Definition Schlüsseleigenschaften
    DataPlaneRequests Empfohlen für API für NoSQL Protokolliert Back-End-Anforderungen als Vorgänge auf Datenebene. Dabei handelt es sich um Anforderungen zum Erstellen, Aktualisieren, Löschen oder Abrufen von Daten innerhalb des Kontos. Requestcharge, statusCode, clientIPaddress, partitionID, resourceTokenPermissionIdresourceTokenPermissionMode
    MongoRequests API für MongoDB Protokolliert vom Benutzer initiierte Anforderungen vom Front-End zur Verarbeitung von Anforderungen an Azure Cosmos DB für MongoDB. Wenn Sie diese Kategorie aktivieren, muss DataPlaneRequests deaktiviert werden. Requestcharge, opCode, retryCount, piiCommandText
    CassandraRequests API für Apache Cassandra Protokolliert vom Benutzer initiierte Anforderungen vom Front-End zur Verarbeitung von Anforderungen an Azure Cosmos DB für Cassandra. operationName, requestCharge, piiCommandText
    GremlinRequests API für Apache Gremlin Protokolliert vom Benutzer initiierte Anforderungen vom Front-End zur Verarbeitung von Anforderungen an Azure Cosmos DB für Gremlin. operationName, requestCharge, piiCommandText, retriedDueToRateLimiting
    QueryRuntimeStatistics API für NoSQL In dieser Tabelle sind die Abfragevorgänge aufgeführt, die für ein API für NoSQL-Konto ausgeführt wurden. Der Abfragetext und seine Parameter werden standardmäßig verborgen. Auf diese Weise wird verhindert, dass personenbezogene Informationen mit der Volltextabfrageprotokollierung protokolliert werden, die auf Anforderung verfügbar ist. databasename, partitionkeyrangeid, querytext
    PartitionKeyStatistics Alle APIs Protokolliert die Statistiken von logischen Partitionsschlüsseln, indem die geschätzte Speichergröße (KB) der Partitionsschlüssel dargestellt wird. Diese Tabelle ist bei der Problembehandlung aufgrund einer ungleichmäßigen Datenverteilung nützlich. Dieses PartitionKeyStatistics-Protokoll wird nur ausgegeben, wenn die folgenden Bedingungen zutreffen: 1. Mindestens 1 % der Dokumente in der physischen Partition haben den gleichen logischen Partitionsschlüssel. 2. Von allen Schlüsseln der physischen Partition erfasst das PartitionKeyStatistics-Protokoll die drei Schlüssel mit der größten Speichergröße. Wenn die vorherigen Bedingungen nicht erfüllt sind, sind die Partitionsschlüsselstatistik-Daten nicht verfügbar. Es ist in Ordnung, wenn die oben genannten Bedingungen für Ihr Konto nicht erfüllt sind. Dies deutet in der Regel darauf hin, dass bei Ihnen keine logische Partitionsspeicherschiefe vorliegt. Hinweis: Die geschätzte Größe der Partitionsschlüssel wird mit einem Stichprobenverfahren berechnet, das davon ausgeht, dass alle Dokumente der physischen Partition ungefähr die gleiche Größe haben. Wenn die Dokumentgrößen in der physischen Partition nicht einheitlich sind, ist die geschätzte Größe der Partitionsschlüssel möglicherweise nicht korrekt. subscriptionId, regionName, partitionKey, sizeKB
    PartitionKeyRUConsumption API für NoSQL oder API für Apache Gremlin Protokolliert den aggregierten RU/s-Verbrauch von Partitionsschlüsseln. Diese Tabelle ist für die Problembehandlung bei heißen Partitionen nützlich. Derzeit meldet Azure Cosmos DB Partitionsschlüssel nur für die API für NoSQL-Konten und für Vorgänge für Punktlesen/Punktschreiben, Abfragen und gespeicherte Prozeduren. subscriptionId, regionName, partitionKey, requestCharge, partitionKeyRangeId
    ControlPlaneRequests Alle APIs Protokolliert Details zu Vorgängen auf Steuerungsebene. Dazu gehören das Erstellen eines Kontos, das Hinzufügen oder Entfernen einer Region, das Aktualisieren der Einstellungen für die Kontoreplikation usw. operationName, httpstatusCode, httpMethod, region
    TableApiRequests API für Table Protokolliert vom Benutzer initiierte Anforderungen vom Front-End zur Verarbeitung von Anforderungen an Azure Cosmos DB für Table. operationName, requestCharge, piiCommandText
  4. Nachdem Sie Ihre Kategoriendetails ausgewählt haben, senden Sie Ihre Protokolle an Ihr bevorzugtes Ziel. Wenn Sie Protokolle an einen Log Analytics-Arbeitsbereichsenden, wählen Sie Ressourcespezifisch als Zieltabelle aus.

    Screenshot of the option to enable resource-specific diagnostics.

Aktivieren der Volltextabfrage zur Protokollierung von Abfragetext

Hinweis

Die Aktivierung dieses Features kann zu zusätzlichen Protokollierungskosten führen. Preisinformationen finden Sie unter Azure Monitor Preise. Sie sollten dieses Feature nach der Problembehandlung deaktivieren.

Azure Cosmos DB bietet erweiterte Protokollierung für eine detaillierte Problembehandlung. Wenn Sie die Volltextabfrage aktivieren, können Sie die entschleierte Abfrage für alle Anforderungen in Ihrem Azure Cosmos DB-Konto anzeigen. Außerdem erteilen Sie Azure Cosmos DB die Erlaubnis, auf diese Daten zuzugreifen und sie in Ihren Protokollen anzuzeigen.

  1. Navigieren Sie zum Aktivieren dieses Features in Ihrem Azure Cosmos DB-Konto zur Seite Features.

    Screenshot of the navigation process to the Features page.

  2. Wählen Sie Enable aus. Diese Einstellung wird innerhalb weniger Minuten angewendet. Alle neu eingelesenen Protokolle enthalten den Volltext oder den PIICommand-Text für jede Anfrage.

    Screenshot of the full-text feature being enabled.

Daten abfragen

Informationen zum Abfragen mithilfe dieser neu aktivierten Features finden Sie unter:

Nächste Schritte