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:
- Einen Log Analytics-Arbeitsbereich, in dem Sie mindestens über Berechtigungen als Mitwirkender verfügen.
- Berechtigungen zum Erstellen von DCR-Objekten im Arbeitsbereich
- Eine Tabelle, die bereits einige Daten enthält
- Die Tabelle kann nicht mit der Arbeitsbereichstransformation DCR verknüpft werden.
Ü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.
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.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.
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.
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 diesource
-Tabelle ohne Änderungen zurückgibt.Ä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
undType
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
.- Zeilen, die sich auf Abfragen der
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.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.
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.