Tutorial: Hinzufügen einer Transformation in einer Datensammlungsregel für Arbeitsbereiche über das Azure-Portal

Dieses Tutorial führt Sie durch die Konfiguration einer Beispieltransformation in einer Datensammlungsregel für Arbeitsbereiche über das Azure-Portal. Transformationen in Azure Monitor ermöglichen es Ihnen, eingehende Daten zu filtern oder zu ändern, bevor sie an ihr Ziel gesendet werden. Arbeitsbereichsumwandlungen bieten Unterstützung für Umwandlungen zur Erfassungszeit für Workflows, die die Azure Monitor-Datenerfassungspipeline noch nicht verwenden.

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 LAQueryLogs, 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 „LAQueryLogs“ wird erstellt, wenn Sie die Protokollabfrageüberwachung in einem Arbeitsbereich aktivieren. Sie können denselben grundlegenden Prozess verwenden, um eine Transformation für eine beliebige unterstützte Tabelle in einem Log Analytics-Arbeitsbereich zu erstellen.

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 WorkspaceTransforms-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 Abfrageüberwachung für Ihren Arbeitsbereich aktivieren, um die Tabelle LAQueryLogs zu erstellen, mit der Sie anschließend arbeiten. Dieser Schritt ist nicht für alle Erfassungszeittransformationen erforderlich. Es geht lediglich darum, die Beispieldaten zu generieren, mit denen Sie anschließend arbeiten.

  1. Wählen Sie im Azure-Portal im Menü Log Analytics-Arbeitsbereiche die Optionen Diagnoseeinstellungen>Diagnoseeinstellung hinzufügen aus.

    Screenshot. Diagnoseeinstellungen

  2. Geben Sie einen Namen für die Diagnoseeinstellung ein. Wählen Sie den Arbeitsbereich aus, damit die Überwachungsdaten im selben Arbeitsbereich gespeichert werden. Wählen Sie die Kategorie Überwachung und dann Speichern aus, um die Diagnoseeinstellung zu speichern und die Seite Diagnoseeinstellung zu schließen.

    Screenshot: Neue Diagnoseeinstellung

  3. Wählen Sie Protokolle aus, und führen Sie dann einige Abfragen aus, um LAQueryLogs mit einigen Daten zu füllen. Diese Abfragen müssen keine Daten zurückgeben, die dem Überwachungsprotokoll hinzugefügt werden sollen.

    Screenshot. Beispielprotokollabfragen

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 LAQueryLogs, 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 aufgefüllt. Geben Sie einen Namen für die DCR ein, und wählen Sie Fertig aus.

    Screenshot: Erstellen einer neuen Datenerfassungsregel

  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 auf die Daten vor der Erfassung in der Tabelle angewendet wird. Die eingehenden Daten werden durch eine virtuelle Tabelle mit dem Namen source dargestellt, die über denselben Satz von Spalten wie die Zieltabelle verfügt. 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 QueryText !contains 'LAQueryLogs'
    | extend Context = parse_json(RequestContext)
    | extend Workspace_CF = tostring(Context['workspaces'][0])
    | project-away RequestContext, Context
    

    Die Änderung umfasst folgende Schritte:

    • Zeilen, die sich auf Abfragen der LAQueryLogs-Tabelle selbst beziehen, werden gelöscht, um Platz zu sparen, da diese Protokolleinträge nicht hilfreich sind.
    • Es wird eine Spalte für den Namen des Arbeitsbereichs hinzugefügt, der abgefragt wurde.
    • Daten aus der RequestContext-Spalte wurden entfernt, um Platz zu sparen.

    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. Nur Daten, die nach dem Anwenden der Transformation an die Tabelle gesendet wurden, sind betroffen.

Führen Sie für dieses Tutorial einige Beispielabfragen aus, um Daten an die Tabelle LAQueryLogs zu senden. Schließen Sie einige Abfragen für LAQueryLogs ein, damit Sie überprüfen können, ob diese Datensätze von der Transformation gefiltert werden. Jetzt enthält die Ausgabe die neue Workspace_CF-Spalte und keine Datensätze für LAQueryLogs.

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