Tutorial: Hinzufügen einer Transformation für Azure Cosmos DB-Arbeitsbereichsdaten mithilfe des Azure-Portals

Dieses Tutorial führt Sie durch die Konfiguration einer Beispieltransformation in einer Datensammlungsregel für Arbeitsbereiche über das Azure-Portal.

Hinweis

Um die Kosten für die Aktivierung der Protokollanalyse zu verbessern, unterstützen wir jetzt das Hinzufügen von Datensammlungsregeln und Transformationen für Ihre Protokollanalyseressourcen, um Spalten herauszufiltern, die Anzahl der zurückgegebenen Ergebnisse zu reduzieren und neue Spalten zu erstellen, bevor die Daten an das Ziel gesendet werden.

Arbeitsbereichstransformationen werden zusammen in einer einzelnen Datensammlungsregel (Data Collection Rule, DCR) für den Arbeitsbereich gespeichert. Diese wird als Arbeitsbereichs-DCR bezeichnet. Jede Transformation ist einer bestimmten Tabelle zugeordnet. Die Transformation wird auf alle Daten angewendet, die von jedem Workflow, der keine DCR verwendet, an diese Tabelle gesendet werden.

Hinweis

In diesem Tutorial wird das Azure-Portal verwendet, um eine Arbeitsbereichstransformation zu konfigurieren. Unter Tutorial: Hinzufügen einer Transformation in einer Datensammlungsregel für Arbeitsbereiche zu Azure Monitor mithilfe von Ressource Manager-Vorlagen finden Sie dasselbe Tutorial, allerdings werden darin Ressource Manager-Vorlagen und die REST-API verwendet.

In diesem Tutorial lernen Sie Folgendes:

  • Konfigurieren einer Arbeitsbereichstransformation für eine Tabelle in einem Log Analytics-Arbeitsbereich.
  • Schreiben Sie eine Protokollabfrage für eine Arbeitsbereichtransformation.

Voraussetzungen

Für dieses Tutorial benötigen Sie Folgendes:

Übersicht über das Tutorial

In diesem Tutorial verringern Sie den Speicherbedarf für die Tabelle CDBDataPlaneRequests, indem Sie bestimmte Datensätze herausfiltern. Außerdem entfernen Sie beim Analysieren der Spaltendaten den Inhalt einer Spalte, um ein Datenelement in einer benutzerdefinierten Spalte zu speichern. Die Tabelle CDBDataPlaneRequests wird erstellt, wenn Sie die Protokollanalyse in einem Arbeitsbereich aktivieren.

In diesem Tutorial wird das Azure-Portal verwendet, das einen Assistenten bereitstellt, der Sie durch die Erstellung einer Erfassungszeittransformation führt. Nachdem Sie die Schritte abgeschlossen haben, geschieht im Assistenten Folgendes:

  • Das Tabellenschema wird mit allen anderen Spalten aus der Abfrage aktualisiert.
  • Es wird eine WorkspaceTransformation-DCR erstellt und mit dem Arbeitsbereich verknüpft, falls noch keine Standard-DCR mit dem Arbeitsbereich verknüpft ist.
  • Eine Erfassungszeittransformation wird erstellt und der Datensammlungsregel hinzugefügt.

Aktivieren von Abfrageüberwachungsprotokollen

Sie müssen die Protokollanalyse für Ihren Arbeitsbereich aktivieren, um die Tabelle CDBDataPlaneRequests zu erstellen, mit der Sie arbeiten. Dieser Schritt ist nicht für alle Erfassungszeittransformationen erforderlich. Es geht lediglich darum, die Beispieldaten zu generieren, mit denen Sie anschließend arbeiten.

Hinzufügen einer Transformation zur Tabelle

Nachdem die Tabelle erstellt wurde, können Sie die Transformation dafür erstellen.

  1. Wählen Sie im Azure-Portal im Menü Log Analytics-Arbeitsbereiche die Option Tabellen aus. Suchen Sie die Tabelle CDBDataPlaneRequests, und wählen Sie Transformation erstellen aus.

    Screenshot: Erstellen einer neuen Transformation

  2. Da dies die erste Transformation im Arbeitsbereich ist, müssen Sie eine Arbeitsbereichstransformations-DCR erstellen. Wenn Sie Transformationen für andere Tabellen im selben Arbeitsbereich erstellen, werden sie in derselben DCR gespeichert. Wählen Sie Neue Datensammlungsregel erstellen aus. Das Abonnement und die Ressourcengruppe sind bereits für den Arbeitsbereich ausgefüllt. Geben Sie einen Namen für die DCR ein, und wählen Sie Fertig aus.

  3. Wählen Sie Weiter aus, um Beispieldaten aus der Tabelle anzuzeigen. Während Sie die Transformation definieren, wird das Ergebnis auf die Beispieldaten angewendet. Aus diesem Grund können Sie die Ergebnisse auswerten, bevor Sie sie auf die tatsächlichen Daten anwenden. Wählen Sie den Transformations-Editor aus, um die Transformation zu definieren.

    Screenshot: Beispieldaten aus der Protokolltabelle

  4. Im Transformations-Editor wird die Transformation angezeigt, die vor der Erfassung in der Tabelle auf die Daten angewendet wird. Eine virtuelle Tabelle mit dem Namen source, die über denselben Satz von Spalten wie die Zieltabelle verfügt, stellt die eingehenden Daten dar. Die Transformation enthält zunächst eine einfache Abfrage, die die source-Tabelle ohne Änderungen zurückgibt.

  5. Ändern Sie die Abfrage wie im folgenden Beispiel:

    source
    | where StatusCode != 200 // searching for requests that are not successful
    | project-away Type, TenantId
    

    Die Änderung umfasst folgende Schritte:

    • Zeilen, die sich auf Abfragen der CDBDataPlaneRequests-Tabelle selbst beziehen, werden gelöscht, um Platz zu sparen, da diese Protokolleinträge nicht hilfreich sind.
    • Daten aus den Spalten TenantId und Type wurden entfernt, um Platz zu sparen.
    • Transformationen unterstützen auch das Hinzufügen von Spalten mit dem Operator extend in Ihrer Abfrage.

    Hinweis

    Bei Verwendung des Azure-Portals initiiert die Ausgabe der Transformation bei Bedarf Änderungen am Tabellenschema. Spalten werden entsprechend der Transformationsausgabe hinzugefügt, wenn diese noch nicht vorhanden sind. Vergewissern Sie sich, dass Ihre Ausgabe keine Spalten enthält, die der Tabelle nicht hinzugefügt werden sollen. Wenn die Ausgabe keine Spalten enthält, die sich bereits in der Tabelle befinden, werden diese Spalten nicht entfernt. Allerdings werden keine Daten hinzugefügt.

    Alle benutzerdefinierten Spalten, die einer integrierten Tabelle hinzugefügt werden, müssen mit _CF enden. Spalten, die einer benutzerdefinierten Tabelle hinzugefügt wurden, benötigen dieses Suffix nicht. Der Name einer benutzerdefinierten Tabelle endet mit _CL.

  6. Kopieren Sie die Abfrage in den Transformations-Editor, und wählen Sie Ausführen aus, um die Ergebnisse der Beispieldaten anzuzeigen. Sie können überprüfen, ob die neue Spalte Workspace_CF in der Abfrage enthalten ist.

    Screenshot: Transformations-Editor

  7. Wählen Sie Anwenden aus, um die Transformation zu speichern, und dann Weiter, um die Konfiguration zu überprüfen. Wählen Sie Erstellen aus, um die DCR mit der neuen Transformation zu aktualisieren.

    Screenshot: Speichern der Transformation

Testen der Transformation

Warten Sie etwa 30 Minuten, bis die Transformation wirksam wird, und testen Sie sie dann, indem Sie eine Abfrage für die Tabelle ausführen. Diese Transformation wirkt sich nur auf Daten aus, die nach dem Anwenden der Transformation an die Tabelle gesendet wurden.

Führen Sie für dieses Tutorial einige Beispielabfragen aus, um Daten an die Tabelle CDBDataPlaneRequests zu senden. Schließen Sie einige Abfragen für CDBDataPlaneRequests ein, damit Sie überprüfen können, ob diese Datensätze von der Transformation gefiltert werden.

Problembehandlung

In diesem Abschnitt werden verschiedene mögliche Fehlerzustände und deren Behebung beschrieben.

IntelliSense in Log Analytics erkennt neue Spalten in der Tabelle nicht

Die Aktualisierung des Caches, auf dem IntelliSense basiert, kann bis zu 24 Stunden dauern.

Die Transformation für eine dynamische Spalte funktioniert nicht

Dynamische Spalten sind derzeit von einem bekannten Problem betroffen. Dieses Problem lässt sich vorübergehend umgehen, indem dynamische Spaltendaten mithilfe von parse_json() explizit analysiert werden, bevor Vorgänge dafür ausgeführt werden.

Nächste Schritte