Die Azure-Plattform liefert bekanntlich für jeden Azure-Dienst kostenlose (meist eindimensionale) Metriken für die schnelle Echtzeitüberwachung. Mehr Einblicke z. B. in das Gastsystem einer Azure VM oder die Anwendungsebene (z. B. auch bei Azure Web Apps) liefern Protokolle. Für deren Einsammlung, Speicherung und Auswertung benötigen Sie allerdings den kostenpflichtigen Dienst Log Analytics, welchen Sie aufwendig konfigurieren müssen, um an die gewünschten Daten zu gelangen. Azure Monitor Insights (Einblicke), speziell VM Insights basiert auf Log Analytics ist, lässt sich aber viel schneller und einfacher in Betrieb nehmen.
Als Beispiel dafür, warum VM Insights so überaus wichtig und nützlich ist, nehmen wir den Umstand, dass Azure-VMs mit öffentlicher IP-Adresse permanent Angriffsversuchen oder sagen wir zumindest Port-Scans aus dem Internet ausgesetzt sind. Das finden Sie zwar auch mit passenden KQL-Abfragen auf den zugehörigen Netzwerksprotokollen heraus, müssen dafür aber sehr viel Aufwand treiben, insbesondere in Bezug auf eine passende und schnell erfassbare Visualisierung z. B. mit Azure Monitor Workbooks. Diese Arbeit nimmt Ihnen VM Insights ab.
Ich habe auf diesem Blog schon häufiger über Azure Monitor, Azure Log Analytics, KQL & Co und das Zusammenspiel, sowie die Konfiguration der jeweiligen Toolchains geschrieben und werde daher das Thema nicht noch einmal bei vom Anfang aufrollen. Allerdings ist hierbei meist Azure Monitor Insights auf der Strecke geblieben. „Insights“ (Einblicke) gibt es im Azure Monitor inzwischen für zahlreiche Dienste. Offensichtlich ist das, wenn Sie im Azure Monitor auf „Erkenntnisse“ klicken, für „Anwendungen“ (Application Insights), „Virtuelle Computer“ (unser Thema), Speicherkonten, Container oder(virtuelle) Netzwerke. Sie finden aber zahlreiche weitere unterstütze Lösungen im „Insights Hub“ (…Erkenntnishub), wie z. B. „Azure Virtual Desktop“. Das nur zur Info.

Wir können VM-Insights (Azure Monitor / Erkenntnisse / Virtuelle Computer) aber auch einfach und schnell aus dem Menü „Überwachung / Erkenntnisse“ der betreffenden VM aktivieren. Klicken Sie hierzu auf „Aktivieren“.

Spätestens jetzt werden Sie feststellen, dass Azure VM Insights nach einer neuen Datensammlungsregel für den AMA (Azure Monitor Agent) sowie einem Log Analytics Workspace verlangt. Die Insights-Funktionalität basiert also auf Log Analytics, erspart Ihnen aber wie eingangs erwähnt die vorhergehende zum Teil aufwendige Konfiguration von Log Analytics. Die Kosten sind natürlich die Gleichen.
VM Insights erstellt per Default sowohl eine neue Datensammlungsregel (beginnend mit dem Namen-Suffix „MSVMI…“), als auch einen neuen Log-Analytics-Workspace (beginnend mit dem Namen-Präfix “DefaultWorkspace…) am Standort der VM.

Um die neue Datensammlungsregel kommen Sie nicht herum, wenn Sie aber einen zentralistischen Überwachsungsansatz pflegen und daher einen vorhandenen Workspace verwenden möchten, klicken Sie auf den Link „Neues Element erstellen“. Jetzt können Sie den Namen der Data Collection Rule wählen und unten bei „Log Analytics workspaces“ einen vorhandenen Workspace auswählen.
Einer der wesentlichen Unterschiede zu Log-Analytics/AMA „pur“ ist, dass Sie sich nicht um die Konfiguration der Datensammlungsregel kümmern müssen, d. h. „Ressourcen“ (in diesem Fall die VM selbst), „Überwachungsquelle“ (Performancemetriken und Protokolle) sowie das „Überwachungsdatenziel“ (Log Analytics) sind bereits passend vorkonfiguriert. Das ist aber nicht der einzige Unterschied zu Log Analytics pur.
Einen weiteren entscheidenden Mehrwert, der für unser Beispielszenario relevant ist, erhalten Sie durch Aktivieren der Funktion „Aktivieren der Prozesse und Abhängigkeiten“. Hiermit stellt VM Insights mit Hilfe eines weiteren, auf dem AMA basierenden Agenten, auch Prozesse und Netzwerkabhängigkeiten dar. Die hierzu erforderlichen Azure-Monitor-Workbooks werden fix und fertig vorkonfiguriert mitgeliefert. Aktivieren Sie also unbedingt diese Funktion.

Klicken Sie anschließend auf „Konfigurieren“ und warten bis die Bereitstellung abgeschlossen ist.
Eingangsdatenverkehr sichtbar machen
Von nun an haben Sie zahlreihe Möglichkeiten. Ich demonstriere hier nur anhand der Abhängigkeitsanalyse ein einziges Beispiel, in dem wir eingehenden Datenverkehr sichtbar machen. Wechseln Sie also erneut „in“ der VM zu „Überwachung / Erkenntnisse“ oder aktualisieren ihren Browser. Das sollte dann so aussehen:

Nun können Sie auf „Daten analysieren“ klicken. Sie erhalten dann im Tab „Leistung“ (die Daten hier sind quasi ein vorkonfiguriertes Azure-Monitor-Workbook) zahlreiche vorkonfigurierte und sehr nützliche Leistungsdiagramme über „CPU Utilization“, „Available Memory“, Logical Disk IOPS“ bis zu „Max Logical Disk Used“.

Wir interessieren uns in diesem Beispiel aber eher für die Netzwerk-Abhängigkeiten und klicken daher auf den zweiten Reiter „Karte“ (englisch „Maps“). Das sollte dann initial so aussehen:

Sie erkennen so schon einmal ohne Mühle auf einen Blick, wie viele „Clients“ (in Form von VMs oder IP-Adressen) derzeit mit unserem VM oder deren Prozessen verbunden sind, wie viel Prozesse derzeit laufen, sowie auf der rechten Seite die von der VM bereitgestellten Dienste/Server. Sie können die Detailansichten jederzeit erweitern, indem Sie sauf die kleinen Dreiecke klicken.
Mit einem Klick auf „Legende“ können Sie leicht erkennen, was „eingehende“, „ausgehende“ oder „fehlgeschlagene“ Verbindungen, bzw. was „Seiteninterne Links“ sind.

Klicken Sie nun im Klapp-Menü „View Workbooks“ im Abschnitt „Network Dependencies“ auf „Connections Overview“. Die dahinterliegende Abfrage wird automatisch ausgeführt und leitet Sie ins Workbook „Connections Overview“. Das sieht dann beispielsweise so aus:

Bei Interesse können Sie das Workbook auch mit „Bearbeiten“ selbst an ihre Bedürfnisse anpassen. Sie gelangen übrigens an die gleiche Ansicht, wenn Sie links oben auf „Arbeitsmappen“ klicken und dann in der Kategorie „Netzwerkabhängigkeiten“ das Workbook „Verbindungsübersicht“ auswählen.

Wechseln Sie nun zurück zum Reiter „Karten“ der VM-Erkenntnisse und klicken von dort aus auf „Azure Monitor“, um die Karteansicht im Azure-Monitor zu sehen.
Der Unterschied zur VM-Ansicht besteht darin, dass es hier eine hübsche Zusammenfassung auf der rechten Seite und eine Reihe von Quicklinks gibt.

Wählen Sie nun erneut im Klappmenü „Arbeitsmappen anzeigen“ den Eintrag „Netzwerkabhängigkeiten / Verbindungen“.
Im Gegensatz zu der Ansicht oben können Sie in dieser Ansicht nun eine Reihe von Filtern setzen. Für unseren Workspace wählen wir daher rechts oben bei „Direction“ den Eintrag „Inbound“, sowie links oben bei „Hierarchy“ den Eintrag „Computer->Prozess->Port->Remote IP“. Navigieren Sie dann zum Knoten „…\svchost \ 3390“ können Sie leicht feststellen, von welchen externen IP-Adresse bereits versucht wird, z. B. Verbindungen über den RDP-Port aufzubauen, eine Folge der vorhandenen öffentlichen IP-Adresse, immerhin als „ No Malicious Connections“ eingestuft.
