Sun Cluster 3.1 Handbuch Datendienst für Sun ONE Web Server Guide

Fehler-Monitor von Sun Cluster HA for Sun ONE Web Server

 

Das Testsignal-Verfahren für Sun Cluster HA for Sun ONE Web Server fragt den Zustand des Servers mit einer Anfrage ab. Vor der Serverabfrage durch das Testsignal wird eine Prüfung durchgeführt, um zu bestätigen, dass die Netzwerkressourcen für diese Webserverressource konfiguriert sind. Wenn keine Netzwerkressourcen konfiguriert sind, wird eine Fehlermeldung (No network resources found for resource) protokolliert, und das Testsignal-Verfahren wird mit einem Fehler beendet.

Das Testsignal-Verfahren muss die folgenden zwei Konfigurationen von Sun ONE Web Server adressieren:

Wenn sich der Webserver im sicheren Modus befindet und das Testsignal-Verfahren die sicheren Ports aus der Konfigurationsdatei nicht abrufen kann, wird eine Fehlermeldung (Unable to parse configuration file) protokolliert, und das Testsignal-Verfahren wird mit einem Fehler beendet. Das Testsignal-Verfahren für die sichere und unsichere Instanz enthält allgemeine Schritte.

Das Testsignal-Verfahren verwendet den Zeitüberschreitungswert, den die Ressourceneigenschaft Probe_timeout angibt, um den Zeitraum für einen erfolgreich ausgeführten Test von Sun ONE Web Server auszuführen. Einzelheiten zu dieser Ressourceneigenschaft finden Sie unter “Standard Properties” in Sun Cluster 3.1 Data Service Planning and Administration Guide.

Die Einstellung der Ressourceneigenschaft Network_resources_used für die Sun ONE Web Server-Ressource legt die IP-Adressen für den Webserver fest. Die Einstellung der Ressourceneigenschaft Port_list bestimmt die Liste der Port-Nummern für Sun ONE Web Server. Der Fehler-Monitor geht davon aus, dass der Webserver alle IP-Port-Kombinationen überwacht. Wenn Sie die Webserverkonfiguration zum Überwachen verschiedener Port-Nummern (zusätzlich zum Port 80) anpassen, müssen Sie sicherstellen, dass die resultierende Konfigurationsdatei (magnus.conf) alle möglichen Kombinationen aus IP-Adressen und Ports enthält. Der Fehler-Monitor testet alle Kombinationen. Möglicherweise tritt ein Fehler auf, wenn der Webserver eine bestimmte Kombination aus IP-Adresse und Port nicht überwacht.

Beim Testsignal-Verfahren werden folgende Schritte ausgeführt:

  1. Das Testsignal-Verfahren stellt mit der angegebenen Kombination aus IP-Adresse und Port eine Verbindung mit dem Webserver her. Wenn die Verbindung nicht hergestellt werden kann, geht das Testsignal-Verfahren von einem Totalfehlschlag aus. Anschließend wird der Fehler aufgezeichnet, und es wird die entsprechende Aktion ausgeführt.

  2. Wenn das Testsignal erfolgreich verbunden ist, prüft es, ob der Webserver im sicheren Modus ausgeführt wird. Ist dies der Fall, wird die Verbindung getrennt, und der zurückgegebene Status lautet “Erfolg”. Für einen sicheren Sun ONE Web Server werden keine weiteren Prüfungen ausgeführt.

    Wenn der Webserver jedoch im unsicheren Modus ausgeführt wird, sendet das Testsignal-Verfahren eine HTTP 1.0 HEAD-Anforderung an der Webserver und wartet auf Antwort. Die Anforderung kann aus verschiedenen Gründen fehlerhaft verlaufen, darunter aufgrund hohen Netzwerkverkehrs, hoher Systemlast und falscher Konfigurationen.

    Falsche Konfigurationen sind gegeben, wenn der Webserver nicht zum Überwachen aller Kombinationen aus IP-Adressen und Ports konfiguriert ist, die getestet werden. Der Webserver muss jeden Port für jede IP-Adresse bedienen, die für diese Ressource angegeben ist.

    Falsche Konfigurationen können auch darauf zurückzuführen sein, dass die Ressourceneigenschaften Network_resources_used und Port_list beim Erstellen der Ressource nicht richtig eingestellt wurden.

    Wenn die Antwort auf die Abfrage nicht innerhalb des Zeitgrenzwertes der Ressource Probe_timeout empfangen wird, wird dies als Fehler von Sun Cluster HA for Sun ONE Web Server betrachtet. Der Fehler wird in der Testsignal-History aufgezeichnet.

    Ein Testsignal-Fehler kann ein Totalfehlschlag oder ein Teilfehlschlag sein. Folgende Testsignal-Fehler gelten als ganze Totalfehlschläge.

    • Fehler beim Herstellen einer Verbindung mit dem Server, wie dies in der folgenden Fehlermeldung gekennzeichnet ist. %s steht für den Hostnamen und %d für die Port-Nummer.


      Verbindung mit %s Port %d konnte nicht hergestellt werden
    • Zeitüberschreitung (Überschreiten des Zeitwertes der Ressourceneigenschaft Probe_timeout) nach dem Versuch, mit dem Server eine Verbindung herzustellen.

    • Fehler beim Senden der Testsignal-Zeichenkette an den Server, wie dies in der folgenden Fehlermeldung gekennzeichnet ist. Das erste %s gibt den Hostnamen an und %d die Port-Nummer. Das zweite %s gibt weitere Fehlerdetails an.


      Keine Kommunikation mit Server %s Port %d möglich: %s

    Der Monitor sammelt zwei derartige Teilfehlschläge innerhalb des Intervalls Retry_interval der Ressourceneigenschaft und zählt sie als einen Fehler.

    Folgende Testsignal-Fehler werden als Teilfehlschläge betrachtet.

    • Zeitüberschreitung (Überschreiten des Zeitwertes Probe_timeout der Ressourceneigenschaft) beim Versuch, die Antwort auf die Testsignal-Abfrage vom Server zu lesen.

    • Fehler beim Lesen der Daten vom Server aus anderen Gründen, wie dies in der folgenden Fehlermeldung gekennzeichnet ist. Das erste %s gibt den Hostnamen an und %d die Port-Nummer. Das zweite %s gibt weitere Fehlerdetails an.


      Keine Kommunikation mit Server %s Port %d möglich: %s
  3. Das Testsignal-Verfahren stellt eine Verbindung mit dem Server mit Sun ONE Web Server her und führt eine HTTP 1.1 GET-Prüfung aus, indem an alle URIs in Monitor_Uri_List HTTP-Anfragen gesendet werden. Wenn der Rückgabecode des HTTP-Servers 500 (interner Serverfehler) lautet oder wenn die Verbindung nicht hergestellt werden kann, werden im Rahmen des Testsignal-Verfahrens entsprechende Maßnahmen getroffen.

    Das Ergebnis der HTTP-Anfragen ist entweder ein Fehler oder eine erfolgreiche Ausführung. Wenn alle Anfragen erfolgreich eine Antwort vom Server mit Sun ONE Web Server empfangen, wird das Testsignal-Verfahren mit dem nächsten Zyklus aus Testen und Ruhen fortgesetzt.

    Hoher Netzwerkverkehr, hohe Systemlasten und fehlerhafte Konfigurationen können zum Fehlschlagen des HTTP GET-Testsignals führen. Eine falsch konfigurierte Eigenschaft Monitor_Uri_List kann einen Fehler verursachen, wenn ein URI in Monitor_Uri_List einen falschen Port oder Hostnamen beinhaltet. Beispiel: Wenn die Webserverinstanz den logischen Host schost-1 überwacht und der URI als http://schost-2/servlet/monitor angegeben ist, wird im Testsignal-Verfahren versucht, eine Verbindung mit schost-2 herzustellen, um /servlet/monitor anzufordern.

    Auf Grundlage des Fehlerverlaufs kann ein Fehler entweder einen lokalen Neustart oder ein Failover des Datendienstes verursachen. Weitere Einzelheiten zu dieser Aktion finden Sie unter “Sun Cluster Data Service Fault Monitors” in Sun Cluster 3.1 Data Service Planning and Administration Guide.