Snapshots mit PRTG überwachen

Snapshots in PRTG

In einem früheren Beitrag (PowerCLI – Snapshots monitoren) hatte ich ein PowerCLI Script vorgestellt mit dem es möglich ist Snapshots zu überwachen. Doch wie ist dies mittels der beliebten Monitoringlösung PRTG möglich? Darauf gehe ich in diesem Beitrag ein.

Ich hatte bereits im Ursprungsbeitrag erwähnt das sich dieses Script in PRTG integrieren lässt. Doch wie das möglich ist, habe ich bislang noch nicht gezeigt.

Das Script befindet sich auf Github und kann dort kostenfrei runtergeladen werden: https://github.com/Gessinger-IO/PRTGSensors/tree/main/vSphereSnapshots

Die Einrichtung

Das Script muss in dem CustomSensor Verzeichnis auf der PRTG Probe gespeichert werden. In PRTG muss ein Sensor vom Typ EXE/Script Advanced angelegt werden. Als EXE/Script wählt man nun in dem Menü das Script aus.
Als Parameter erwartet das Script die folgenden Werte:
-server Der Servername von einem ESXi oder vCenter
-user Der Nutzername für den Server
-password Das Passwort für den Nutzernamen

Die Funktion

Diese ist sehr einfach und schnell erklärt. Das Script sucht alle Snapshots älter als 72 Stunden. Von jedem Snapshot wird die Größe, der Name, der Name der VM, der Ersteller und das Datum ausgelesen. All diese Daten werden an PRTG übermittelt und dort angezeigt:
1 # (Snapshots older than 72 hours) is above the warning limit of 0,50 # in Snapshots older than 72 hours. Snapshots older than 72 hours: @{VM=SRV1001; Name=TestSnapshot; SizeMB=1716.2095127105712890625; created=08/28/2021 15:11:56; CreatedBy=VSPHERE.LOCAL\Administrator}

Somit lassen ich mit PRTG Snapshots überwachen.

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.

8 Antworten

  1. Mathias sagt:

    Sehr gute Lösung für eine Situation, die man von PRTG eigentlich bei den Standard-Sensoren erwarten würde.
    Noch schöner wäre es, wenn man das Snapshot-Alter und/oder alternativ die Größe über Parameter einstellen könnte und das nicht fest im Code verdrahtet wäre 😉

  2. Nico sagt:

    Hi, o etwas sollte mittlerweile schon zu den Standard-Sensoren gehören. Ich will mein bestehendes Script durch deins ablösen, da mir die Variante mit den Parametern sehr gefällt. Allerdings wollen die bei mir nicht so wirklich eingelesen werden, ich lande immer im dem Fehler ” Parameter set cannot be resolved using the specified named parameters”. Hast du dazu eine Idee?

    • Wie sieht dein Scriptaufruf auf? Die Parameter maxMb und maxAge sind exklusiv, du kannst nur einen von beiden nutzen. Möchtest du beide nutzen (was aktuell nicht vorgesehen ist) musst du das Script bearbeitet und zwei Dinge tun: 1. Das ParameterSet auflösen (dafür ParameterSetName von beiden Parametern entfernen) und deine eigene Logik in den Zeilen 47-54 einsetzen.

  3. Dominik sagt:

    Ich habe dein Script in PRTG entsprechend am Laufen.
    Leider wird grundsätzlich “0” Snapshots angezeigt, auch wenn definitv welche vorhanden sind.
    Sowohl auf dem vcenter (6.5) als auch auf dem ESXi (6.0)
    Hast du eine Idee woran das liegen könnte?

    • Nutzt du die aktuelle Version von dem Script? Ich könnte mir vorstellen das der Tag “allow snapshots” in der Kategorie “monitoring” fehlt und es daher zu einem Fehler kommt. Bei ESXi kann das Script in dieser Form auch gar nicht funktionieren, da ESXi keine Tags unterstützt. Dazu müsste man den entsprechenden Teil entfernen.

  4. Chris U. sagt:

    Das ist genau das wonach ich gerade suche. Leider funktioniert da bei mir etwas nicht. Ich bekomme folgenden Fehler angezeigt:

    “XML: The returned XML does not match the expected schema. (code: PE233) — JSON: The returned JSON does not match the expected structure (Invalid JSON.). (code: PE231)”

    Ich habe vCenter Version 7.0.3.00700 im Einsatz. Ich benutze das aktuell bei Github verfügbare Script.

    Kann mir da jemand Helfen? 🙂

    • Bitte entschuldige die späte Antwort, ich war in den letzten Wochen privat unterwegs. Der Fehler kommt meistens weil bei der Ausführung des Scriptes ein Fehler entsteht der von der Powershell ausgegeben wird. Du könntest das Setting Result Handling in PRTG nutzen um die Ausgabe von dem Script zu speichern. Die Datei liegt dann unter c:\ProgramData\Paessler\PRTG Network Monitor\Logs\sensors

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.