Wissen ist Macht – Azure Monitor einsetzen
Teil 3 – Protokolle
Auch Azure stellt wie alle Public-Cloud-Anbieter mit dem Azure Monitor einen zentralen Überwachungsdienst zu Verfügung. Mit ihm kannst du Performance und Verfügbarkeit oder Kosten und Nutzung deiner Anwendungen und Dienste kontrollieren, sowie Security-Audits durchführen. Microsoft positioniert den Dienst als All-in-One-Solution für das Sammeln, Analysieren und Behandeln von Telemetriedaten aus der Azure-Cloud, anderen Clouds und lokalen Umgebungen. In drei Teilen stellen wir dir die wichtigsten Funktionen und Anwendungsbereiche vor. Dieses ist der dritte und letzte Teil.
Du benötigst mehr Know-how rund um MS Azure? Dann empfehlen wir dir unsere Microsoft Azure Schulungen!
Azure Log-Analytics
Den Log-Analytics-Agent aktivierst du bei gewählter VM im Haupt-Navigationsmenü im Abschnitt „Überwachung“ unter „Protokolle“. Hier musst du auf den Knopf „Aktivieren“ klicken. Die Abrechnung der in Log Analytics zu analysierenden Daten läuft dann über eine eigene Entität namens „Log Analytics Workspace“. Mindestens einen solchen musst du entweder hier direkt beim Aktivieren des Agents aktivieren (die betreffenden VM wird dann direkt als Quelle in diesem Log-Analytics-Workspace aktiviert) oder du legst vorher im Azure Portal einen neuen „Log-Analytics Arbeitsbereich“ an und registrierst dort im Abschnitt „Arbeitsbereichdatenquellen / Virtuelle Computer“ die gewünschte VM bei diesem Arbeitsbereich.
Weitere valide Datenquellen sind „System Center“, „Azure Aktivitätsprotokoll“ (s. o.) oder „Speicherkontoprotokolle“. Wähle einfach die gewünschte VM aus und klicke auf „Verbinden“. VM und Log-Analytics Workspace müssen sich übrigens nicht in der gleichen Region befinden. Ist mindestens eine Quelle verbunden, kannst du Log-Analytics nutzen. Hierzu wählst du wie oben beschrieben entweder von der VM ausgehend das Menü „Überwachung / Protokolle“ oder du wählst im Azure Monitor den Abschnitt „Protokolle“: Hier musst du dann allerdings zunächst wieder den gewünschten Scope eingrenzen.
Kusto Query Language (KQL)
Azure Monitor Logs ist mit seiner mächtigen Abfragesprache Kusto Query Language (gelegentlich auch „Azure Data Explorer“ genannt) – Ähnlichkeiten zu Splunk und SQL sind durchaus gewollt – auf die Aggregation von Daten aus unterschiedlichsten Quellen abzielt, um Informationen aus der Zusammenführung dieser unterschiedliche Quellen und unterschiedlichen Datentypen zu gewinnen, macht es in der Praxis wenig Sinn, den Log-Analytics-Agent z. B. auf einer oder wenigen VMs zu aktivieren. Die Abrechnung von/für Log Analyics erfolgt übrigens auf Basis der Menge an erfassten Daten, welche „in“ den Workspace laufen sowie auf Basis der für die Datenaufbewahrungszeit getroffenen Einstellungen. Es kann übrigens bis zu 10 Minuten nach Aktivierung der Quelle dauern, bis z. B. ein Virtueller Computer konfiguriert ist und die Überwachungsdaten angezeigt werden.
Kusto ist wie erwähnt sehr mächtig und eine systematische Einführung würde den Rahmen diesen Beitrags sprengen. Daher hier nur ein paar Basics. Jede Kusto-Abfrage ist eine schreibgeschützte Anforderung zur Verarbeitung von Daten und zur Rückgabe der Ergebnisse, formuliert als unformatierter Text. Kusto verwendet ein Datenflussmodell, das einerseits Lesbarkeit und andererseits das Verfassen und die Automatisierung der Syntax vereinfachen soll. Die Abfrage verwendet Schema-Entitäten, die in einer SQL-ähnlichen Hierarchie organisiert sind wie Datenbanken, Tabellen und Spalten.
Jede Abfrage besteht daher aus einer Folge von Anweisungen, getrennt durch ein Semikolon mit mindestens einer https://docs.microsoft.com/de-de/azure/data-explorer/kusto/query/tabularexpressionstatements tabellarischen Ausdrucksanweisung, die Daten in einem tabellenähnlichen Raster aus Spalten und Zeilen erzeugt. Die tabellarischen Ausdrucksanweisungen der Abfrage erzeugen dann die Ergebnisse der Abfrage.
Du musst dich aber nicht beim ersten Aufruf von Log Analytics intensiv in Kusto einarbeiten, da Microsoft zum Einem einen großen Fundus an Beispielabfragen mitliefert, die du als Basis verwenden kannst und weil du Abfragen im Abfrage-Editor auch interaktiv zusammenbauen kannst, in dem du im Menü auf die in den Datenbanken und Tabellen organisierten Datenstrukturen zugreifen kannst. Sobald du das beim ersten Start von Log-Analytics angezeigte Beispielvideo gesehen oder übersprungen hast, öffnet Log Analytics ein Popup-Fenster mit Beispielabfragen.
Jede davon kannst du mit dem gleichnamigen Knopf entweder „Ausführen“ oder nur „In den Editor laden“. Letzteres zeigt die Abfrage in Kusto-Syntax im Query-Editor an und du kannst von hier „Ausführen“ anklicken.
Die folgende Abfrage …
// Virtual Machine free disk space
// Show the latest report of free disk space, per instance.
// To create an alert for this query, click '+ New alert rule'
Perf
| where ObjectName == "LogicalDisk" or // the object name used in Windows records
ObjectName == "Logical Disk" // the object name used in Linux records
| where CounterName == "Free Megabytes"
| summarize arg_max(TimeGenerated, *) by InstanceName // arg_max over TimeGenerated returns the latest record
| project TimeGenerated, InstanceName, CounterValue, Computer, _ResourceId
… liefert z. B. einen Report über den freien Disk-Speicher über alle verbundenen Instanzen je Instanz als Maximalwert über den angegeben Zeitbereich (hier 24 Stunden). Nach erfolgreicher Abfrage kannst du jederzeit wieder rechts oben auf den Knopf „Abfragen“ klicken, um wieder zum Fenster mit den Muster-Abfragen zu gelangen. Nicht alle Beispiel-Abfragen werden im Popup-Fenster angeboten. Du kannst aber im Navigationsbereich links bei markiertem Tab „Abfragen“ aus einer vollständigen Liste auswählen.
Fahre mit der Maus ohne zu klicken über eine Abfrage aus der Liste wie z. B. in der Abbildung 3 „Track VM Availability“ popt ebenfalls ein Fenster auf, von dem aus du die Abfrage entweder ausführen oder in den Editor laden kannst. Sofern die Abfrage sinnvolle Daten liefert, werden diese nicht nur im Tab „Ergebnisse“ angezeigt, sondern können im Tab „Diagramm“ auch wieder grafisch dargestellt oder mit dem Button „Exportieren“ oben rechts als CSV exportiert werden.
Darüber lassen sich Kusto-Abfragen from Scratch formulieren. Dazu kannst du im Navigationsmenü links statt auf „Abfragen“ auch den Tab „Tabellen“ auswählen und dann einzelne Entitäten doppelklicken, die dadurch in das das Editor-Fenster übernommen werden.
Kontakt
„*“ zeigt erforderliche Felder an