Jeder einzelne HELIOS Dienst wird vom HELIOS Service Controller überwacht. Sollten gravierende Probleme auftreten, die zum Programmabbruch führen, schreibt der Service Controller die Fehlermeldungen in die Logdatei des Servers und startet den Dienst neu. Das Plug-in „wostarter.so“ (WOStarter) für den Service Controller überwacht permanent den gesamten Webdienst. Bleibt ein Webdienst hängen und antwortet nicht auf HTTP-Anfragen vom WOStarter, startet der Service Controller den Dienst neu. Damit wird dem Service Controller eine weitere Methode der Verfügbarkeitsüberprüfung hinzugefügt.
Die Datei „wostarter.so“ befindet sich im Verzeichnnis „HELIOSDIR/lib“. Der HELIOS Service Controller kann dieses Plug-in benutzen um den WebShare Webserver („websharewoa“) zu starten, zu stoppen oder anzuhalten. Das Plug-in für den WebShare Webserver wird über folgende Präferenz aktiviert:
# prefvalue -k 'Services/websharewoa/ServiceStarter' -t str "de.helios.servicestarter.wostarter"
WOStarter prüft in regelmäßigen Abständen, ob der Dienst „websharewoa“ noch läuft. WOStarter kann folgende Fehler in Webdiensten erkennen:
Die HTTP-Antwort enthält kein erwartetes Schlüsselwort
Die HTTP-Antwort enthält ein Schlüsselwort, das nicht erwartet wurde
Ein HTTP-Fehler ist aufgetreten
Die HTTP-Antwort ist unvollständig
Überhaupt keine HTTP-Antwort
Erkennt WOStarter ein Problem mit dem überwachten Webdienst, werden die Fehler detailliert protokolliert und der Webdienst neu gestartet. Benutzerdefinierte Einstellungen für WOStarter können über folgende Präferenzen konfiguriert werden.
Mit der Präferenz WatchdogInterval
wird der Timeout in
Sekunden angegeben (Vorgabe=600
):
# prefvalue -k 'Programs/websharewoa/WatchdogInterval' -t int [value]
Mit der Präferenz WOHost
wird der der Name des Hosts oder
die IP-Adresse des Webdienstes angegeben (Vorgabe=localhost
):
# prefvalue -k 'Programs/websharewoa/WOHost' -t str [value]
Mit der Präferenz WOPort
wird der Port des Webdienstes
angegeben (Vorgabe=2009
):
# prefvalue -k 'Programs/websharewoa/WOPort' -t int [value]
Mit der Präferenz ResponsePositive
wird die optionale
Zeichenketten angegeben, die in der HTTP-Antwort enthalten sein muss
(keine Vorgabe).
# prefvalue -k 'Programs/websharewoa/ResponsePositive' -t strlist [value]
Mit der Präferenz ResponseNegative
wird die optionale Zeichenketten
angegeben, die in der HTTP-Antwort enthalten sein muss (keine Vorgabe).
# prefvalue -k 'Programs/websharewoa/ResponseNegative' -t strlist [value]