Tutorial: Transformieren von Textprotokollen während der Erfassung in Azure Monitor-Protokolle
Transformationen zur Erfassungszeit bieten die Möglichkeit, eingehende Daten zu filtern oder zu ändern, bevor sie in einem Log Analytics-Arbeitsbereich gespeichert werden. In diesem Artikel wird erläutert, wie Sie eine KQL-Abfrage schreiben, die Textprotokolldaten transformiert, und die Transformation einer Datensammlungsregel hinzufügen.
Bei den hier beschriebenen Schritten wird davon ausgegangen, dass Sie bereits einige Daten aus einer Textdatei erfasst haben, wie unter Sammeln von Textprotokollen mit dem Azure Monitor-Agent beschrieben. In diesem Tutorial gehen Sie wie folgt vor:
- Schreiben Sie eine KQL-Abfrage, um erfasste Daten zu transformieren.
- Ändern Sie das Schema der Zieltabelle.
- Fügen Sie der Datensammlungsregel die Transformation hinzu.
- Vergewissern Sie sich, dass die Transformation ordnungsgemäß funktioniert.
Voraussetzungen
Um dieses Verfahren abschließen zu können, benötigen Sie Folgendes:
- Log Analytics-Arbeitsbereich, in dem Sie mindestens über die Berechtigung „Mitwirkender“ verfügen.
- Datensammlungsregel, Datensammlungsendpunkt und benutzerdefinierte Tabelle, wie unter Sammeln von Textprotokollen mit dem Azure Monitor-Agent beschrieben.
- Virtueller Computer, VM-Skalierungsgruppe oder lokaler Server mit Arc-Unterstützung, der Protokolle in eine Textdatei schreibt.
Anforderungen an die Textdatei:
- Die Datei muss auf dem lokalen Laufwerk des Computers gespeichert sein, auf dem der Azure Monitor-Agent ausgeführt wird.
- Sie muss Zeilenendezeichen enthalten.
- Es muss die ASCII- oder UTF-8-Codierung verwendet werden. Andere Formate wie UTF-16 werden nicht unterstützt.
- Sie darf weder die Umlaufprotokollierung noch die Protokollrotation, bei der die Datei mit neuen Einträgen überschrieben wird, noch Umbenennung zulassen, bei der eine Datei verschoben und eine neue Datei desselben Namens geöffnet wird.
Schreiben Sie eine KQL-Abfrage, um erfasste Daten zu transformieren.
Zeigen Sie die Daten in der benutzerdefinierten Zieltabelle in Log Analytics an:
- Wählen Sie im Azure-Portal Log Analytics-Arbeitsbereiche> Ihren Log Analytics-Arbeitsbereich >Protokolle aus.
- Führen Sie eine Basisabfrage für die benutzerdefinierte Protokolltabelle aus, um die Tabellendaten anzuzeigen.
Verwenden Sie das Abfragefenster, um eine Abfrage zu schreiben und zu testen, durch die die Rohdaten in Ihrer Tabelle transformiert werden.
Informationen zu den KQL-Operatoren, die von Transformationen unterstützt werden, finden Sie unter Struktur von Transformationen in Azure Monitor.
Hinweis
Die einzigen Spalten, für die Transformationen angewandt werden können, sind TimeGenerated und RawData. Andere Spalten werden der Tabelle erst nach der Transformation automatisch hinzugefügt und sind zum Zeitpunkt der Transformation nicht verfügbar. Die Spalte „_ResourceId“ kann in der Transformation nicht verwendet werden.
Beispiel
Im Beispiel werden grundlegende KQL-Operatoren verwendet, um die Daten in der
RawData
-Spalte in den drei neuen SpaltenTime Ingested
,RecordNumber
undRandomContent
zu parsen:- Der
extend
-Operator fügt neue Spalten hinzu. - Der
project
-Operator formatiert die Ausgabe so, dass sie den Spalten des Zieltabellenschemas entspricht:
MyTable_CL | extend d=todynamic(RawData) | project TimeGenerated,TimeIngested=tostring(d.Time), RecordNumber=tostring(d.RecordNumber), RandomContent=tostring(d.RandomContent), RawData
Hinweis
Das Abfragen von Tabellendaten auf diese Weise ändert die Daten in der Tabelle nicht tatsächlich. Azure Monitor wendet die Transformation in der Datenerfassungspipeline an, nachdem Sie Ihre Transformationsabfrage der Datensammlungsregel hinzugefügt haben.
- Der
Formatieren Sie die Abfrage als einzelne Zeile, und ersetzen Sie den Tabellennamen in der ersten Zeile der Abfrage durch das Wort
source
.Beispiel:
source | extend d=todynamic(RawData) | project TimeGenerated,TimeIngested=tostring(d.Time),RecordNumber=tostring(d.RecordNumber), RandomContent=tostring(d.RandomContent), RawData
Kopieren Sie die formatierte Abfrage, damit Sie sie in die Konfiguration der Datensammlungsregel einfügen können.
Ändern der benutzerdefinierten Tabelle, um die neuen Spalten einzuschließen
Fügen Sie Spalten in Ihrer benutzerdefinierten Tabelle basierend auf Ihrer Transformationsabfrage hinzu oder löschen Sie diese.
Im oben aufgeführten Beispiel für eine Transformationsabfrage werden drei neue Spalten vom Typ string
hinzugefügt:
TimeIngested
RecordNumber
RandomContent
Um diese Transformation zu unterstützen, fügen Sie Ihrer benutzerdefinierten Tabelle diese drei neuen Spalten hinzu.
Anwenden der Transformation auf Ihre Datensammlungsregel
Wählen Sie im Menü Überwachen die Option Datensammlungsregeln und dann Ihre Datensammlungsregel aus.
Wählen Sie Datenquellen und dann Ihre Datenquelle aus.
Fügen Sie die formatierte Transformationsabfrage auf der Registerkarte Datenquelle im Bildschirm Datenquelle hinzufügen in das Feld Transformieren ein.
Wählen Sie Speichern aus.
Überprüfen, ob die Transformation funktioniert
Zeigen Sie die Daten in der benutzerdefinierten Zieltabelle an, und überprüfen Sie, ob die Daten ordnungsgemäß in der geänderten Tabelle erfasst werden:
- Wählen Sie im Azure-Portal Log Analytics-Arbeitsbereiche> Ihren Log Analytics-Arbeitsbereich >Protokolle aus.
- Führen Sie eine Basisabfrage für die benutzerdefinierte Protokolltabelle aus, um die Tabellendaten anzuzeigen.
Nächste Schritte
Weitere Informationen: