ich wollte mittels PRTG prüfen, ob bestimmte Dienste (z.B. ReGaHss) laufen oder nicht.
Leider benötigt PRTG dazu die passenden Skripts in dem Verzeichnis /var/prtg/scripts.
Dieses Verzeichnis ist aber leider nicht geeignet, da es im RAM liegt und damit die Änderungen nicht dauerhaft sind.
Jens Maus schlug vor ein Addon zu bauen, das halte ich aber für übertrieben. Ich habe daher einfach einen Symbolischen Link auf diesen Ordner erstellt, den ich beim reboot einfach neu erstellen lasse.
Dazu muss nur ein Programm ohne weitere Bedingung erstellt werden. Im "DANN" Zweig dann ein Skript abfeuern:
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("ln -s /usr/local/prtg /var/prtg");
Das passende Skript wird also als ausführbare Datei unter /usr/local/prtg gespeichert. Der Name ist dabei völlig egal!
Code: Alles auswählen
#!/bin/sh
pgrep $1 2>&1 1>/dev/null
if [ $? -ne 0 ]; then \rn
echo "1:$?:$1 Down"
else
echo "0:$?:OK"
fi
Die Vorgehensweise ist aber auch mit jedem anderen Dienst machbar. Das Skript muss dafür nur einmal vorhanden sein.
Die Einrichtung von PRTG sollte jeder Nutzer selber kennen. Darauf will ich hier nicht eingehen.
Grundsätzlich lässt sich diese Lösung sicher auch bei vielen anderen Problemstellungen einsetzen und ist nicht auf PRTG beschränkt!
Vielleicht hilft das jemandem... Viel Spaß damit!