Monitoring Always On VPN in PRTG

Letzte Aktualisierung am 27.03.2023, 20:03:26 Uhr

In diesem Beitrag möchte ich gerne ein PowerShell Skript für das Monitoring von Microsoft Always-On VPN vorstellen. Es geht hierbei aber nicht um die dafür notwendigen Dienste, sondern mehr um Statistikzwecke. Sprich wie viele Computer- und Benutzer waren zum Messzeitpunkt auf dem VPN Endpunkt verbunden.

Die Werte dienen in erster Linie dazu um Abhängigkeiten zu der Auslastung der Server und Bandbereite zu gewinnen und dem entsprechend mögliche Engpässe rechtzeitig zu erkennen.

Bei meinen Überlegungen und anschließender Suche im Internet bin ich auf das PowerShell Skript von Gillian81 gestoßen. Es ist bzw. war am Ende des Tages die einzig brauchbare Seite, welche mich meinem Ziel einen großen Schritt nähergebracht hat.

Daraus entstanden ist folgendes PowerShell Skript bzw. PRTG Sensor. Die jeweils aktuelle Fassung steht auf meinem Git Repository zur Verfügung.

Das Skript herunterladen und ggf. einen individuellen Dateinamen vergeben. Wichtig ist der Dateityp muss .ps1 sein. Die Datei auf der PRTG Probe in das Verzeichnis „.\Custom Sensors \EXEXML“ (z.B. C:\Program Files (x86)\PRTG Network Monitor\Custom Sensors\EXEXML) ablegen/abspeichern.

Anschließend die Weboberfläche von PRTG in einem Browser anrufen und anmelden. Zuerst auf der Probe bzw. in der entsprechenden Hierarchie ggf. den Server auf dem die NSP Intranet Rolle installiert als Gerät anlegen. Danach einen neuen Sensor dem Gerät hinzufügen. Im Assistenten den Sensortyp „Programm/Skript (Erweitert)“ auswählen.

Nun erscheint die Maske für die Allgemeinen- und Sensoreinstellungen.

Parameter:

Als erster Parameter muss „%device“ eingegeben werden. PRTG speichert den Computernamen des übergeordneten Geräts in der Variablen %device. Grund dafür ist, dass ich den Computername im PowerShell Skript in eine Variable gepackt habe. Gerade wenn man mehrere Server/Instanzen in seiner Landschaft hat, ist das PowerShell Skript flexibel und muss nicht unnötig oft dupliziert werden.

Als zweiter Parameter muss der Intervall in Minuten angegeben werden. Hintergrund ist, dass der Sensor natürlich nicht bei jeder Abfrage die gesamte Statistik auswerten soll. Sondern nur Einträge, die seit der letzten Ausführung des Sensors erfasst worden sind. Wird der Abfrageintervall des Sensors nur alle 30 Minuten ausgeführt, so muss natürlich auch der dieser Parameter geändert werden. Wichtig ist, dass der Wert in Anführungszeichen steht! Bis dato gibt es in PRTG keine Variable für den Abfrageintervalls des Sensors.

Der dritter und vierte Parameter ist die Übergabe der Credentials, um das PowerShell Skript aufzuführen zu können. Diese sind im übergeordneten Gerät in den Einstellungen im Bereich „Zugangsdaten für Windows-Systeme“ eingetragen wurden. Hintergrund ist, dass der VPN-Server natürlich in der DMZ steht und daher selbstverständlich nicht Mitglied der Domäne ist, sondern Stand Alone agiert. Für solche Fälle habe ich auf den betroffenen Server einen dedizierten Benutzer angelegt, der die notwendigen Rechte hat um das PowerShell Skript ausführen zu dürfen.

"%device" "5" "%windowsdomain\%windowsuser" "%windowspassword"

Sind alle Einstellungen und ein schöner Name für den Sensor vergeben, kann der Sensor erstellt werden.

Nachstehend zwei Screenshots des Sensors, wenn dieser eingebunden ist. In diesem Fall handelt es sich um meine Testumgebung.

Der Code bzw. Sensor ist sozusagen noch BETA. Ich habe diesen in zwei verschiedenen Umgebungen bisher im Einsatz. Somit würde ich mich natürlich freuen, wenn sich weitere Tester finden lassen. Viel Spaß beim Ausprobieren. 🙂

Abonnieren
Benachrichtige mich bei
0 Comments
Inline Feedbacks
View all comments