Ich hab noch keine Möglichkeit gefunden in der GUI einen Dienst zu überwachen ob er läuft und ihn automatisch neu zu starten sollte er nicht laufen, da habe ich ein kleines Script zusammen gebastelt und dieses per Cron am laufen, vielleicht nicht ganz elegant aber doch sehr hilfreich.
mir ist aufgefallen das manchmal der Crowdsec Agent sich nachts einfach verabschiedet ohne eine Fehlermeldung, da der Dienst doch sehr wichtig ist, muss er auch immer laufen.
ein Script erstellen und ausführbar machen
/opt/crowdsec-monitor.sh
#!/bin/sh
# Funktion zur Überprüfung und Neustart des Dienstes
check_and_restart_service() {
service crowdsec status > /dev/null
status=$?
if [ $status -ne 0 ]; then
echo "Der Dienst ist nicht aktiv. Starte ihn neu..."
service crowdsec start
else
echo "Der Dienst läuft."
fi
}
# Überprüfe und starte den Dienst
check_and_restart_service
/opt/crowdsec-firewall-monitor.sh
#!/bin/sh
# Funktion zur Überprüfung und Neustart des Dienstes
check_and_restart_service() {
service crowdsec_firewall status > /dev/null
status=$?
if [ $status -ne 0 ]; then
echo "Der Dienst ist nicht aktiv. Starte ihn neu..."
service crowdsec_firewall start
else
echo "Der Dienst läuft."
fi
}
# Überprüfe und starte den Dienst
check_and_restart_service
um es in der GUI als Cronjob auswählen zu können müssen wir eine Kleinigkeit hinzufügen, im folgenden Verzeichnis eine Datei erstellen, z.b. actions_service-monitor.conf
/usr/local/opnsense/service/conf/actions.d/actions_service-monitor.conf
[crowdsec]
command:/opt/crowdsec-monitor.sh
parameters:
type:script
message:Crowdsec-Monitoring
description:Crowdsec-Monitoring
es lassen sich dort auch mehrere Scripte hinzufügen, die können dan in der GUI einzeln ausgewählt werden.
z.b. so
[crowdsec]
command:/opt/crowdsec-monitor.sh
parameters:
type:script
message:Crowdsec-Monitoring
description:Crowdsec-Monitoring
[crowdsec-firewall]
command:/opt/crowdsec-firewall-monitor.sh
parameters:
type:script
message:Crowdsec-Firewall-Monitoring
description:Crowdsec-Firewall-Monitoring
sobald alle notwendigen Dateien erstellt sind muss einmal configd neu gestartet werden, entweder in der GUI oder optional in der Shell mit folgenden Befehl
service configd restart
jetzt können wir in der GUI unter System/Einstellungen/Cron unser erstelltes Script „Crowdsec-Monitoring“ als Crobjob hinzufügen
ich hoffe diese kleine Anleitung ist hilfreich, vielleicht kennt ja auch jemand eine andere möglichkeit zum überwachen von Diensten