Erstellen grundlegender Azure Monitor-Protokollabfragen zum Extrahieren von Informationen aus Protokolldaten
Mit Azure Monitor-Protokollabfragen können Sie Informationen aus Protokolldaten extrahieren. Abfragen sind ein wichtiger Teil der Untersuchung der von Azure Monitor erfassten Protokolldaten.
Im Beispielszenario verwendet das Betriebsteam Azure Monitor-Protokollabfragen, um die Integrität des Systems zu überprüfen.
Schreiben von Azure Monitor-Protokollabfragen mithilfe von Log Analytics
Sie finden das Log Analytics-Tool im Azure-Portal und können es verwenden, um Beispielabfragen auszuführen oder eigene Abfragen zu erstellen:
Wählen Sie im linken Bereich des Azure-Portals Monitor aus.
Die Seite „Azure Monitor“ wird mit weiteren Optionen angezeigt, darunter Aktivitätsprotokoll, Warnungen, Metriken und Protokolle.
Wählen Sie Protokolle aus.
Hier können Sie Ihre Abfrage eingeben und die Ausgabe anzeigen.
Schreiben von Abfragen mit der Abfragesprache Kusto
Sie können die Abfragesprache Kusto verwenden, um Protokollinformationen für Ihre in Azure ausgeführten Dienste abzufragen. Eine Kusto-Abfrage ist eine schreibgeschützte Anforderung zur Verarbeitung von Daten und zur Rückgabe der Ergebnisse. Formulieren Sie die Abfrage in unformatiertem Text, wobei Sie ein Datenflussmodell verwenden, das darauf ausgelegt ist, die Lesbarkeit, das Verfassen und die Automatisierung der Syntax zu vereinfachen. Die Abfrage verwendet Schemaentitäten, die in einer Hierarchie ähnlich der Hierarchie der Azure SQL-Datenbank organisiert sind: Datenbanken, Tabellen und Spalten.
Eine Kusto-Abfrage besteht aus einer Sequenz von Abfrageanweisungen, die durch ein Semikolon (;
) getrennt sind. Mindestens eine Anweisung ist eine tabellarische Ausdrucksanweisung. Eine tabellarische Ausdrucksanweisung formatiert die arrangierten Daten in ein tabellenähnliches Netz aus Spalten und Zeilen.
Die Syntax einer tabellarischen Ausdrucksanweisung verfügt ausgehend von einer Datenquelle über einen tabellarischen Datenfluss von einem tabellarischen Abfrageoperator zu einem anderen. Bei einer Datenquelle kann es sich um eine Tabelle in einer Datenbank oder um einen Operator handeln, der Daten erzeugt. Die Daten durchlaufen dann eine Reihe von Operatoren für die Datentransformation, die mit dem senkrechten Strich (|
) als Trennzeichen verbunden sind.
Die folgende Kusto-Abfrage enthält beispielsweise eine einzelne tabellarische Ausdrucksanweisung. Die Anweisung beginnt mit einem Verweis auf eine Tabelle mit dem Namen Events
. Die Datenbank, die diese Tabelle hostet, ist hier implizit und Teil der Verbindungsinformationen. Die in Zeilen gespeicherten Daten für diese Tabelle werden nach dem Wert der StartTime
-Spalte gefiltert. Die Daten werden nach dem Wert der State
-Spalte weiter gefiltert. Die Abfrage gibt dann die Anzahl der resultierenden Zeilen zurück.
Events
| where StartTime >= datetime(2018-11-01) and StartTime < datetime(2018-12-01)
| where State == "FLORIDA"
| count
Hinweis
Bei der in Azure Monitor verwendeten Abfragesprache Kusto wird die Groß-/Kleinschreibung berücksichtigt. Programmiersprachen-Schlüsselwörter werden in der Regel in Kleinbuchstaben geschrieben. Verwenden Sie die richtige Schreibweise bei Tabellen- oder Spaltennamen in einer Abfrage.
Ereignisse, die in den Ereignisprotokollen von überwachten Computern aufgezeichnet wurden, stellen nur einen Typ von Datenquelle dar. Azure Monitor bietet viele andere Typen von Datenquellen. Die Datenquelle Heartbeat
meldet z. B. die Integrität aller Computer, die an Ihren Log Analytics-Arbeitsbereich melden. Sie können auch Daten aus Leistungsindikatoren erfassen und Verwaltungsdatensätze aktualisieren.
Im folgenden Beispiel wird der aktuellste Heartbeatdatensatz für jeden Computer abgerufen. Der Computer wird anhand seiner IP-Adresse identifiziert. In diesem Beispiel gibt die summarize
-Aggregation mit der arg_max
-Funktion den Datensatz mit dem aktuellsten Wert für jede IP-Adresse zurück.
Heartbeat
| summarize arg_max(TimeGenerated, *) by ComputerIP