
Siarhei - stock.adobe.com
Wie Sie mit Azure VM Watch virtuelle Maschinen überwachen
Microsoft bietet mit VM Watch in Azure eine Erweiterung an, mit der Admins den Zustand von virtuellen Maschinen (VM) überwachen können. Erfahren Sie, wie sie das Tool einrichten.
Die Standardkonfiguration der VM-Überwachung (VM Watch) umfasst verschiedene Tests, welche eine erweiterte Überwachung von Azure-VMs erlauben. Die Installation kann auf Windows-VMs erfolgen, aber auf virtuellen Linux-Servern in Azure. Bisher ist Azure VM Watch als Preview angekündigt.
VM Watch läuft als Standard-Überwachungsinstanz in Azure-Umgebungen. Die Erweiterung initiiert automatisierte Gesundheitsprüfungen innerhalb einer virtuellen Maschine und überträgt die Ergebnisse in ein einheitliches Datenmodell. Der integrierte AIOps-Mechanismus in Azure nutzt diese Resultate, um Anomalien frühzeitig zu erkennen und mögliche Ausfälle zu verhindern. Die Bereitstellung erfolgt über die Application Health VM Extension, was eine einfache Installation ohne Zusatzkosten ermöglicht.
Diese Tests führt VM Watch aus
VM Watch führt in einer Azure-VM umfassende Tests durch, die verschiedene Systembereiche abdecken und eine detaillierte Überwachung sicherstellen. Im Netzwerkbereich kontrolliert das Tool ausgehende Verbindungen und prüft die DNS-Auflösung. Es erkennt TCP-Segment-Wiederholungen, Verbindungsrücksetzungen sowie fehlgeschlagene Verbindungsversuche, um Netzwerkprobleme frühzeitig zu identifizieren.
Die Festplattenüberwachung umfasst die Analyse von Dateiaktionen auf allen Laufwerken. VM Watch verfolgt den belegten und verfügbaren Speicherplatz sowie die Gesamtkapazität der Festplatten. Darüber hinaus werden Lese- und Schreibvorgänge pro Sekunde erfasst, um die I/O-Leistung der VM zu bewerten.
Im Bereich der CPU wird die Nutzung sowohl für einzelne Prozesse als auch für die gesamte virtuelle Maschine überwacht. Das ermöglicht eine präzise Analyse der Ressourcenauslastung. Die Prozessüberwachung prüft, ob sich neue Prozesse erstellen lassen, und bestätigt aktive Prozesse. Zusätzlich wird die Betriebszeit dieser Prozesse kontrolliert, um potenzielle Anomalien zu erkennen.

Der Zugriff auf den Instance Metadata Service (IMDS) wird durch die VM-Überwachung ebenfalls sichergestellt. Das Tool überprüft die Erreichbarkeit des IMDS-Endpunkts und ruft spezifische Informationen über die virtuelle Maschine ab. Der Instance Metadata Service ist ein von Microsoft Azure bereitgestellter Endpunkt, der es virtuellen Maschinen ermöglicht, Metadaten über sich selbst abzurufen. Diese Metadaten umfassen Informationen zur Konfiguration, wie etwa die VM-Größe, Region, Netzwerkdetails oder Ressourcengruppen. Der IMDS-Endpunkt ist lokal über die IP-Adresse 169.254.169.254 erreichbar. Ein zentraler Aspekt von IMDS ist die sichere Bereitstellung von Zugangs-Tokens für Azure-Dienste. Virtuelle Maschinen können auf diesem Weg Managed Identities verwenden, um sich ohne Speicherung von Anmeldeinformationen bei Diensten wie Azure Key Vault oder Azure Blob Storage zu authentifizieren.
IMDS unterstützt außerdem die Automatisierung und Konfigurationsverwaltung von VMs. Verwaltungsskripte können zum Beispiel dynamisch Informationen über die VM abrufen, um Konfigurationsentscheidungen basierend auf der aktuellen Umgebung zu treffen. Zusätzlich spielt IMDS eine wichtige Rolle bei Sicherheitsüberprüfungen. Anwendungen oder Überwachungs-Tools wie VM Watch nutzen den Dienst, um sicherzustellen, dass die VM ordnungsgemäß in Azure integriert ist und Zugriff auf notwendige Ressourcen hat.
Zur Synchronisierung der Systemzeit prüft VM Watch, ob es zeitliche Diskrepanzen zwischen der VM und einem entfernten NTP-Server gibt. Zeitabweichungen können sich negativ auf Netzwerkdienste und sicherheitsrelevante Prozesse auswirken. Die Verbindung zu Azure Blob Storage wird ebenfalls getestet. VM Watch bewertet die Fähigkeit der VM, Blobs herunterzuladen, wobei entweder Tokens für Managed Service Identity (MSI) oder Shared Access Signature (SAS) verwendet werden.
Abschließend sammelt VM Watch Hardwareinformationen aus den Windows-Ereignisprotokollen. Der Fokus liegt hier auf Vorfällen auf der Festplatte, die auf potenzielle Hardwareprobleme hinweisen können. Diese Überwachung gewährleistet eine hohe Verfügbarkeit und Performance der Azure-VM, indem potenzielle Störungen frühzeitig erkannt und behoben werden.
Wie Sie VM Watch einrichten
VM Watch wird über die Application Health VM Extension in die Zielumgebung eingebettet. Ein Azure Resource Manager Template, PowerShell oder die Azure CLI aktivieren den Dienst. Er passt sich dynamisch an Linux- und Windows-Umgebungen an und setzt Obergrenzen für den CPU- sowie Speicherverbrauch. Auf diese Weise beeinträchtigt der Überwachungsprozess nicht die Leistung der virtuellen Maschinen. Im ersten Schritt erfolgt die Einrichtung des Features im jeweiligen Azure-Abonnement:
(Get-AzProviderPreviewFeature -ProviderNamespace Microsoft.compute -Name VMWatchPreview).properties
Register-AzProviderPreviewFeature -ProviderNamespace Microsoft.compute -Name VMWatchPreview
Der erste Befehl ruft die aktuellen Eigenschaften der Vorschaufunktion VMWatchPreview vom Azure-Provider Microsoft.Compute ab. Damit lässt sich überprüfen, ob die Funktion bereits registriert oder verfügbar ist. Die ausgegebenen Eigenschaften enthalten Details zum Registrierungsstatus und weiteren Metadaten, die anzeigen, ob die Funktion in der jeweiligen Azure-Umgebung genutzt werden kann.

Der zweite Befehl registriert die Vorschaufunktion VM Watch für das Azure-Abonnement. Durch diese Registrierung wird die Funktion freigeschaltet, sodass VM Watch seine Überwachungs- und Analysefunktionen in virtuellen Maschinen ausführen kann.
Danach erfolgt die Einrichtung der Erweiterung in der VM:
Set-AzVMExtension -ResourceGroupName "<your resource group>" -Location "<your vm region>" -VMName "<your vm name>" -Name "<your extension name>" -Publisher "Microsoft.ManagedServices" -ExtensionType "<application health extension type>" -TypeHandlerVersion "2.0" -Settings @{"vmWatchSettings" = @{"enabled" = $True}} -EnableAutomaticUpgrade $True
Ob die Erweiterung installiert ist, lässt sich mit dem folgenden Befehl überprüfen:
Get-AzVMExtension -ResourceGroupName "group1" -VMName "vm01" -Name "VMWatch01"
Die Komponenten von VM Watch lassen sich mit dem folgenden Befehl überprüfen:
Get-AzVM -ResourceGroupName "group1" -Name "vm01" -Status | select -ExpandProperty Extensions | where{$_.name -eq "VmWatch01"} | select -ExpandProperty Substatuses
Der laufende Prozess wird mit dem folgenden Befehl angezeigt:
Get-Process Vmwatch*
VM Watch speichert die Protokolle im Verzeichnis C:\WindowsAzure\Logs\Plugins\Microsoft.ManagedServices.ApplicationHealthWindows\2.0.15. Die Konfigurationsdatei vmwatch.conf befindet sich im Verzeichnis C:\Packages\Plugins\Microsoft.ManagedServices.ApplicationHealthWindows\2.0.15\bin\VMWatch. Im Azure-Portal ist die Erweiterung ebenfalls in den Einstellungen einer VM zu sehen.