Tutorial: Erlernen gängiger Operatoren
Kusto-Abfragesprache (KQL) wird verwendet, um Abfragen in Azure Data Explorer, Azure Monitor Log Analytics, Azure Sentinel und mehr zu schreiben. Dieses Tutorial enthält eine Einführung in die wesentlichen KQL-Operatoren, die für den Zugriff auf und die Analyse Ihrer Daten verwendet werden.
Eine genauere Anleitung zum Abfragen von Protokollen in Azure Monitor finden Sie unter Erste Schritte mit Protokollabfragen.
Hinweis
Können Sie die gesuchten Informationen nicht finden? Dieser Artikel wurde kürzlich wie folgt aufgeteilt:
- Informationen zu gängigen Operatoren (in diesem Artikel)
- Verwenden von Aggregationsfunktionen
- Verknüpfen von Daten aus mehreren Tabellen
- Erstellen von Geovisualisierungen
In diesem Tutorial lernen Sie Folgendes:
In den Beispielen in diesem Tutorial wird die StormEvents
Tabelle verwendet, die im Hilfecluster öffentlich verfügbar ist. Um mit Ihren eigenen Daten zu untersuchen, erstellen Sie Einen eigenen kostenlosen Cluster.
Voraussetzungen
- Ein Microsoft-Konto oder Microsoft Entra Benutzeridentität für die Anmeldung beim Hilfecluster
Zeilen zählen
Verwenden Sie zunächst den Count-Operator , um die Anzahl der Storm-Datensätze in der StormEvents
Tabelle zu ermitteln.
StormEvents
| count
Ausgabe
Anzahl |
---|
59066 |
Sehen Sie sich ein Beispiel für Daten an.
Um ein Gefühl für die Daten zu erhalten, verwenden Sie den Take-Operator , um eine Stichprobe von Datensätzen anzuzeigen. Dieser Operator gibt eine angegebene Anzahl beliebiger Zeilen aus der Tabelle zurück, was für die Vorschau der allgemeinen Datenstruktur und des Inhalts nützlich sein kann.
StormEvents
| take 5
In der folgenden Tabelle sind nur 6 der 22 zurückgegebenen Spalten aufgeführt. Führen Sie die Abfrage aus, um die vollständige Ausgabe anzuzeigen.
StartTime | EndTime | EpisodeId | EventId | State | EventType | ... |
---|---|---|---|---|---|---|
2007-09-20T21:57:00Z | 2007-09-20T22:05:00Z | 11078 | 60913 | FLORIDA | Tornado | ... |
2007-12-20T07:50:00Z | 2007-12-20T07:53:00Z | 12554 | 68796 | MISSISSIPPI | Sturm | ... |
2007-12-30T16:00:00Z | 2007-12-30T16:05:00Z | 11749 | 64588 | GEORGIA | Sturm | ... |
2007-09-29T08:11:00Z | 2007-09-29T08:11:00Z | 11091 | 61032 | ATLANTIC SOUTH | Wasserhose | ... |
2007-09-18T20:00:00Z | 2007-09-19T18:00:00Z | 11074 | 60904 | FLORIDA | Starker Regen | ... |
Auswählen einer Teilmenge von Spalten
Verwenden Sie den Projektoperator , um die Ansicht zu vereinfachen und eine bestimmte Teilmenge von Spalten auszuwählen. Die Verwendung von project
ist häufig effizienter und einfacher zu lesen als das Anzeigen aller Spalten.
StormEvents
| take 5
| project State, EventType, DamageProperty
Ausgabe
State | EventType | DamageProperty |
---|---|---|
ATLANTIC SOUTH | Wasserhose | 0 |
FLORIDA | Starker Regen | 0 |
FLORIDA | Tornado | 6200000 |
GEORGIA | Sturm | 2000 |
MISSISSIPPI | Sturm | 20000 |
Auflisten eindeutiger Werte
Es scheint, dass es mehrere Arten von Stürmen gibt, die auf den Ergebnissen der vorherigen Abfrage basieren. Verwenden Sie den eindeutigen Operator, um alle eindeutigen Sturmtypen aufzulisten.
StormEvents
| distinct EventType
Die Tabelle enthält 46 Arten von Stürmen. Hier sehen Sie ein Beispiel von 10 von ihnen.
EventType |
---|
Sturm |
Hagel |
Überschwemmung |
Dürre |
Winterwetter |
Wintersturm |
Starker Schnee |
Starker Wind |
Frost/Frieren |
Hochwasser |
... |
Filtern nach Bedingung
Der Where-Operator filtert Datenzeilen basierend auf bestimmten Kriterien.
Die folgende Abfrage sucht nach Stormereignissen in einem bestimmten State
einer bestimmten EventType
.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| project StartTime, EndTime, State, EventType, DamageProperty
Es gibt 146 Ereignisse, die diesen Bedingungen entsprechen. Hier sehen Sie ein Beispiel von 5 von ihnen.
StartTime | EndTime | State | EventType | DamageProperty |
---|---|---|---|---|
2007-01-13T08:45:00Z | 2007-01-13T10:30:00Z | TEXAS | Hochwasser | 0 |
2007-01-13T09:30:00Z | 2007-01-13T21:00:00Z | TEXAS | Hochwasser | 0 |
2007-01-13T09:30:00Z | 2007-01-13T21:00:00Z | TEXAS | Hochwasser | 0 |
2007-01-15T22:00:00Z | 2007-01-16T22:00:00Z | TEXAS | Hochwasser | 20000 |
2007-03-12T02:30:00Z | 2007-03-12T06:45:00Z | TEXAS | Hochwasser | 0 |
... | ... | ... | ... | ... |
Ergebnisse sortieren
Um die obersten Überschwemmungen in Texas anzuzeigen, die den größten Schaden verursacht haben, verwenden Sie den Sortieroperator , um die Zeilen basierend auf der DamageProperty
Spalte in absteigender Reihenfolge anzuordnen. Die Standardsortierreihenfolge ist absteigend. Um in aufsteigender Reihenfolge zu sortieren, geben Sie an asc
.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| sort by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
Ausgabe
StartTime | EndTime | State | EventType | DamageProperty |
---|---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Hochwasser | 5000000 |
2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | TEXAS | Hochwasser | 1200000 |
2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | TEXAS | Hochwasser | 1000000 |
2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | TEXAS | Hochwasser | 750000 |
2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | TEXAS | Hochwasser | 750000 |
... | ... | ... | ... | ... |
Abrufen der obersten n Zeilen
Der oberste Operator gibt die ersten n Zeilen nach der angegebenen Spalte sortiert zurück.
Die folgende Abfrage gibt die fünf Texas-Überschwemmungen zurück, die die am meisten beschädigte Eigenschaft verursacht haben.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty
| project StartTime, EndTime, State, EventType, DamageProperty
Ausgabe
StartTime | EndTime | State | EventType | DamageProperty |
---|---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | TEXAS | Hochwasser | 5000000 |
2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | TEXAS | Hochwasser | 1200000 |
2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | TEXAS | Hochwasser | 1000000 |
2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | TEXAS | Hochwasser | 750000 |
2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | TEXAS | Hochwasser | 750000 |
Hinweis
Die Reihenfolge der Operatoren ist wichtig. Wenn Sie hier voranstellen top
where
, erhalten Sie unterschiedliche Ergebnisse. Dies liegt daran, dass die Daten von jedem Operator in der Reihenfolge transformiert werden. Weitere Informationen finden Sie unter Tabellenausdrucksanweisungen.
Erstellen berechneter Spalten
Die Operatoren project und extend können sowohl berechnete Spalten erstellen.
Verwenden Sie project
, um nur die Spalten anzugeben, die Sie anzeigen möchten, und verwenden Sie extend
, um die berechnete Spalte am Ende der Tabelle anzufügen.
Die folgende Abfrage erstellt eine berechnete Duration
Spalte mit dem Unterschied zwischen StartTime
und EndTime
. Da wir nur einige ausgewählte Spalten anzeigen möchten, ist in diesem Fall die Verwendung project
von die bessere Wahl.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| project StartTime, EndTime, Duration = EndTime - StartTime, DamageProperty
Ausgabe
StartTime | EndTime | Duration | DamageProperty |
---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | 1.01:30:00 | 5000000 |
2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | 12:00:00 | 1200000 |
2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | 05:00:00 | 1000000 |
2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | 08:00:00 | 750000 |
2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | 03:00:00 | 750000 |
Wenn Sie sich die berechnete Duration
Spalte ansehen, stellen Sie möglicherweise fest, dass die Flut, die die meisten Schäden verursacht hat, auch das längste Hochwasser war.
Verwenden Sie extend
, um die berechnete Duration
Spalte zusammen mit allen anderen Spalten anzuzeigen. Die Duration
Spalte wird als letzte Spalte hinzugefügt.
StormEvents
| where State == 'TEXAS' and EventType == 'Flood'
| top 5 by DamageProperty desc
| extend Duration = EndTime - StartTime
Ausgabe
StartTime | EndTime | ... | Duration |
---|---|---|---|
2007-08-18T21:30:00Z | 2007-08-19T23:00:00Z | ... | 1.01:30:00 |
2007-06-27T00:00:00Z | 2007-06-27T12:00:00Z | ... | 12:00:00 |
2007-06-28T18:00:00Z | 2007-06-28T23:00:00Z | ... | 05:00:00 |
2007-06-27T00:00:00Z | 2007-06-27T08:00:00Z | ... | 08:00:00 |
2007-06-26T20:00:00Z | 2007-06-26T23:00:00Z | ... | 03:00:00 |
Zuordnen von Werten aus einem Satz zum anderen
Die statische Zuordnung ist ein nützliches Verfahren zum Ändern der Darstellung Ihrer Ergebnisse. In KQL können Sie eine statische Zuordnung durchführen, indem Sie ein dynamisches Wörterbuch und Accessoren verwenden, um Werte von einem Satz zu einem anderen zuzuordnen.
let sourceMapping = dynamic(
{
"Emergency Manager" : "Public",
"Utility Company" : "Private"
});
StormEvents
| where Source == "Emergency Manager" or Source == "Utility Company"
| project EventId, Source, FriendlyName = sourceMapping[Source]
Ausgabe
EventId | `Source` | FriendlyName |
---|---|---|
68796 | Katastrophenschutz | Öffentlich |
... | ... | ... |
72609 | Versorgungsunternehmen | Privat |
... | ... | ... |
Nächster Schritt
Nachdem Sie nun mit den Grundlagen des Schreibens von Kusto-Abfragen vertraut sind, fahren Sie mit dem nächsten Tutorial fort, und erfahren Sie, wie Sie Aggregationsfunktionen verwenden, um tiefere Einblicke in Ihre Daten zu erhalten.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für