Guide des services de données Sun Cluster pour Sun Java System Web Server pour SE Solaris

Détecteur de pannes de Sun Cluster HA for Sun Java System Web Server

La sonde de Sun Cluster HA for Sun Java System Web Server utilise une requête au serveur l'interrogeant sur la santé de celui-ci. Avant l'envoi de cette requête, elle vérifie si les ressources réseau sont configurées pour cette ressource du serveur Web. Si aucune n'est configurée, un message d'erreur (Aucune ressource réseau trouvée pour la ressource) est consigné, et la sonde se ferme en générant une erreur.

La sonde doit s'adresser aux deux configurations suivantes de Sun Java System Web Server :

Si le serveur Web est en mode sécurisé et que la sonde ne peut pas obtenir les ports sécurisés du fichier de configuration, un message d'erreur (Impossible d'analyser le fichier de configuration) est consigné, et la sonde se ferme en générant une erreur. Les sondes d'instances sécurisées et non sécurisées procèdent de la même manière.

La sonde utilise le délai défini dans la propriété de ressource Délai_sonde pour limiter le temps passé à sonder Sun Java System Web Server. Reportez-vous à la rubrique “Standard Properties” in Sun Cluster Data Services Planning and Administration Guide for Solaris OS pour obtenir plus de détails sur cette propriété de ressource.

La définition de la propriété Ressources_réseau_utilisées de la ressource Sun Java System Web Server détermine le jeu d'adresses IP utilisé par le serveur Web. La définition de la propriété de ressource Liste_ports définit la liste des numéros de port employés par Sun Java System Web Server. Le détecteur de pannes considère que le serveur Web écoute sur toutes les combinaisons IP/port. Si vous personnalisez la configuration du serveur Web qu'il écoute sur d'autres numéros de port (outre le port 80), assurez-vous que le fichier de configuration résultant (magnus.conf) contient toutes les combinaisons adresse IP/port possibles. Le détecteur de pannes tente de sonder toutes les combinaisons de ce type et peut enregistrer une erreur si le serveur Web n'écoute pas sur l'une d'entre elles.

La sonde exécute la procédure suivante :

  1. Elle utilise la combinaison adresse IP/port spécifiée pour se connecter au serveur Web. Si la connexion échoue, la sonde en conclut qu'un échec total a eu lieu. Elle l'enregistre et prend les mesures appropriées.

  2. Si elle peut se connecter, la sonde vérifie si le serveur Web tourne en mode sécurisé. Si c'est le cas, elle se déconnecte et renvoie une notification de réussite. Aucun autre contrôle n'est effectué sur Sun Java System Web Server sécurisé.

    Toutefois, si le serveur Web tourne en mode non sécurisé, la sonde lui envoie une requête HTTP 1.0 HEAD et attend sa réponse. Cette requête peut échouer pour plusieurs raisons, y compris un trafic réseau intense, une charge système importante ou une configuration erronée.

    Cette dernière situation peut être due au fait que vous n'avez pas configuré le serveur Web pour qu'il écoute sur toutes les combinaisons adresse IP/port sondées. Le serveur Web doit traiter chaque port de chaque adresse IP spécifiée pour la ressource.

    Les configurations erronées peuvent également découler d'une définition incorrecte des propriétés de ressource Ressources_réseau_utilisées et Liste_ports lors de la création de la ressource.

    Si la sonde ne reçoit pas de réponse à sa requête dans le délai défini par Délai_sonde, elle considère qu'il s'agit d'un échec de Sun Cluster HA for Sun Java System Web Server. L'erreur est enregistrée dans l'historique de la sonde.

    Il peut s'agir d'un échec total ou partiel. Les erreurs d'analyse suivantes sont considérées comme des échecs totaux.

    • Échec de connexion au serveur, comme l'indique le message d'erreur suivant, dans lequel %s correspond au nom d'hôte, et %d au numéro de port.


      Échec de connexion au port %d de %s
    • Dépassement du délai imparti (dépassement du délai imparti dans la propriété de ressource Délai_sonde) après une tentative de connexion au serveur.

    • Échec d'envoi correct de la chaîne de sonde au serveur, comme l'indique le message d'erreur suivant, le premier %s indiquant le nom d'hôte et %d le numéro de port. Le second %s fournit plus de détails sur l'erreur.


      Échec de communication avec le port %d du serveur %s : %s

    Le détecteur accumule deux échecs partiels comme ceux-là dans l'intervalle défini par la propriété Intervalle_nouvelles_tentatives et les comptabilise comme un seul échec.

    Les erreurs d'analyse suivantes sont considérées comme des échecs partiels :

    • Dépassement du délai imparti (défini par la propriété Délai_sonde) lors d'une tentative de lecture de la réponse envoyée par le serveur à la requête de la sonde.

    • Échec de lecture des données du serveur pour d'autres raisons, comme l'indique le message d'erreur suivant, dans lequel le premier %s correspond au nom d'hôte, et %d au numéro de port. Le second %s fournit plus de détails sur l'erreur.


      Échec de communication avec le port %d du serveur %s : %s
  3. La sonde se connecte au serveur de Sun Java System Web Server et effectue une vérification HTTP 1.1 GET en envoyant une requête HTTP à chacun des Uri de la Liste_Uri_détecteur. Si le code de retour du serveur HTTP est 500 (erreur interne du serveur) ou si la connexion échoue, la sonde entre en action.

    Le résultat des requêtes HTTP est soit un échec, soit une réussite. Si toutes les requêtes ont bien reçu une réponse du serveur de Sun Java System Web Server, la sonde revient et poursuit le cycle d'analyse et de veille suivant.

    La sonde HTTP GET peut échouer en raison d'un trafic réseau intense, d'une charge système importante ou d'une configuration erronée. Une configuration erronée de la propriété Liste_Uri_Détecteur peut provoquer une panne si un Uri de cette liste contient un port ou un nom d'hôte incorrect. Par exemple, si l'instance du serveur Web écoute sur l'hôte logique schost-1 et que l'URI a été spécifiée comme http://schost-2/servlet/monitor, la sonde tente de contacter schost-2 pour solliciter /servlet/monitor.

    Basée sur l'historique des pannes, une défaillance peut entraîner un redémarrage local ou une panne du service de données. Cette opération est décrite plus avant dans la rubrique “Sun Cluster Data Service Fault Monitors” in Sun Cluster Data Services Planning and Administration Guide for Solaris OS.