PRTG – Check ob VMs auf unterschiedlichen Hosts laufen

vSphere kennt DRS-Regeln, mit denen es möglich ist VMs auf unterschiedlichen Hosts oder auf dem gleichen ausführen zu lassen. Diese Regeln können einen Zwang darstellen, aber auch einen Wunsch. Unterschieden wird dies über die Schlüsselwörter “muss” und sollte” bzw. im englischen “must” und “should”.
Doch nicht alle Kunden, vor allem im KMU-Bereich, können DRS benutzen und andere möchten gerne ein Monitoring für diese Regeln haben.
Zu diesem Zweck habe ich ein Powershell-Script entwickelt welches überprüfen kann ob die VMs auf unterschiedlichen Hosts ausgeführt werden.

Auch dieses Script befindet sich auf GitHub und kann dort kostenfrei heruntergeladen werden: https://github.com/Gessinger-IO/PRTGSensors/tree/main/vSphereCheckSeperateHosts

Die Einrichtung

Die Einrichtung ist recht einfach. Das Script muss lediglich auf der PRTG-Probe in das CustomSensor-Verzeichnis (%PROGRAMFILES(x86)%\PRTG Network Monitor\Custom Sensors\EXEXML) gespeichert werden und im Script müssen die Gruppen und die VMs angepasst werden:

Vorne steht der Name der Gruppe und in den Klammern stehen die VMs. In jeder Gruppe können beliebig viele VMs genannt werden und es können beliebig viele Gruppen definiert werden.

Dann kann man schon in PRTG einen neuen Sensor vom Typ EXE/Script Advanced anlegen, dort das Script auswählen und die Startparameter konfigurieren.
Das Script erwartet die folgenden Parameter:
-server Der Servername von dem vCenter
-user Der Nutzername für den Server
-password Das Passwort für den Nutzernamen

Die Funktionsweise

Das Script sucht nach den VMs innerhalb einer Gruppe, sucht sich deren zugewiesenen ESXi-Host raus und vergleicht dessen Namen mit dem der anderen VMs der selben Gruppe. Dann wird der das Ergebnis ($true oder $false) zu 1 bzw. 0 konvertiert und zu PRTG übertragen. Hier ist nun jede Gruppe ein eigener Kanal und man kann sich dort entsprechende Schwellwerte konfigurieren.
Laufen manche VMs der Gruppe auf unterschiedlichen Hosts, so ist die Rückgabe 1
Laufen alle VMs der Gruppe auf dem selben Host, so ist die Rückgabe 0

Ergänzung

Das Script ist aus einer Kundenanforderung entstanden und ist auf exakt zwei VMs pro Gruppe ausgelegt. Sollten mehr als zwei VMs in einer Gruppe sein, muss das Script eventuell angepasst werden.

René Gessinger

Ich arbeite seit einigen Jahren als Infrastructure Architect in einem Systemhaus und Cloud Provider und betreibe vorwiegend vSphere-Umgebungen. Meine Kenntnisse und Interessen reichen von vSphere und NSX über Networking und VMware Horizon auch bis tief in Windows und Linux. Mit der Zeit kamen auch Lösungen für die Automatisierung hinzu, so z.B. Powershell, vRealize Orchestrator und Ansible. Darüber hinaus arbeite ich intern als Trainer für die Produkte vSphere, vSAN, Horizon und NSX.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.