![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
Script manageODR.py
Vous pouvez utiliser le script manageODR.py pour créer un cluster de routeurs On Demand (ODR) et pour gérer des règles de routage et la journalisation personnalisée.
Emplacement
Le script manageODR.py se trouve dans le répertoire racine_serveur_app/bin. Avant d'exécuter ce script, assurez-vous que la variable d'environnement WAS_HOME est configurée pour pointer vers le répertoire de votre installation WebSphere.
Opérations
- convertToCluster <noeud:odr> <cluster> : Convertissez un routeur On Demand existant sur le noeud noeud dont le nom est odr en un cluster de routeurs On Demand appelé <cluster>.
- createDynamicCluster <cluster> <groupeNoeud> : Créez un cluster dynamique de routeurs On Demand appelé <cluster> sur les noeuds du groupe de noeuds <groupeNoeuds>.
- addToCluster <noeud:odr> <cluster> : Créez un nouveau routeur ODR appelé odr sur le noeud noeud et ajoutez-le au cluster ODR cluster.
- insertMultiClusterRoutingRule <odrServerOrCluster> <protocolFamily> <ruleNumber> <condition> <multiClusterAction> <multiClusterSpecification> : Insérez une règle de routage ODR avec une action pour charger l'équilibre ou la reprise entre les clusters dans les mêmes cellules ou des cellules différentes.
- insertRedirectRoutingRule <odrServerOrCluster> <ruleNumber> <condition> <redirectURL>: Insérez une règle de routage ODR avec une action pour renvoyer un réacheminement vers le client. Cela est uniquement pris en charge pour la famille de protocole HTTP.
- insertRejectRoutingRule <odrServerOrCluster> <protocolFamily> <ruleNumber> <condition> <errorCode>: Insérez une règle de routage ODR avec une action pour renvoyer un code d'erreur spécifique au client.
- removeRoutingRule <odrServerOrCluster> <protocolFamily> <ruleNumber> : Supprimez la règle de routage ODR spécifiée par la famille de protocole (par exemple HTTP) et le numéro de la règle.
- listRoutingRules <odrServerOrCluster> <protocolFamily> : répertoriez les règles de routage ODR pour la famille de protocole spécifiée (par exemple HTTP).
- insertLocalContentRoutingRule <odrServerOrCluster> <ruleNumber> <condition> <localPath> : Insérez une règle de routage ODR avec une action pour servir le contenu HTML statique à partir du système de fichiers local de l'ODR.
- insertCustomLogRule <odrServerOrCluster> <ruleNumber> <condition> <logFileFormat> : Insérez une règle de journal personnalisé à la liste à la position <ruleNumber>.
- RemoveCustomLogRule <serveurOuClusterODR> <numéroRègle> : Supprimez la règle de consignation personnalisée ayant le numéro <numéroRègle>.
- listCustomLogRules <serveurOuClusterODR> :
Affichez la liste des règles de consignation personnalisées associées à un routeur ou à un cluster ODR. Les arguments sont les suivants :
- <node:odr> est le nom du noeud et du routeur ODR (par exemple, mynode:myodr).
- <cluster> est le nom d'un cluster de routeurs On Demand (ODR).
- <odrServerOrCluster> est <node:odr> ou <cluster>.
- <protocolFamily> est "HTTP" ou "SIP".
- <ruleNumber> est le numéro de la règle (compris entre 1 et le nombre total de règles).
- <condition> est la condition (expression booléenne) qui doit correspondre à true pour déclencher l'action associée.
- <multiClusterAction> est "Failover", "WLOR" (Weighted Least Outstanding Requests) ou "WRR" (Weighted Round Robin).
- <multiClusterSpecification> est une spécification de plusieurs clusters dans l'un des formats suivants :
- cluster = <cellname>/<clustername> : pour indiquer un cluster spécifique.
- server = <cellname>/<nodename>/<servername> : pour indiquer un serveur spécifique.
- module= <cellName>/<applicationName>/<editionName>/<moduleName> : pour indiquer tous les serveurs sur lesquels ce module est déployé.
- <redirectUR> est l'URL vers laquelle la demande doit être récheminée.
- <errorCode> est le code retour d'erreur qui doit être renvoyé pour une règle de routage de rejet.
- <logFileFormat> est une spécification qui indique le nom de fichier et le format de l'entrée de journal.
- <localPath> est le répertoire à partir duquel un contenu statique local doit être servi.
L'exemple suivant crée un routeur ODR appelé odr sur le noeud1 :
wsadmin.sh -f createodr.jacl noeud1 odr odr
L'exemple suivant convertit un routeur ODR appelé odr situé sur le noeud noeud1 vers un cluster ODR appelé clusterODR :
wsadmin.sh -f manageODR.py -lang jython convertToCluster noeud1:odr clusterODRL'exemple suivant ajoute une règle de consignation personnalisée permettant de placer toutes les demandes ayant un délai de service supérieur à 2 secondes dans le journal personnalisé slow.log et d'inclure le serveur d'applications vers lequel la demande a été envoyée ainsi que le délai de service :
wsadmin.sh -f manageODR.py -lang jython insertCustomLogRule myNode02:odr1 1 "service.time > 2000" "slow.log %t %r %Z %T"L'exemple suivant ajoute une règle de consignation personnalisée permettant de placer toutes les réponses incluant une erreur 503 dans le journal 503.log. La règle est ajoutée à la position 2. S'il existe déjà une règle à la position 2, la nouvelle règle est insérée avant la règle existante.
wsadmin.sh -f manageODR.py -lang jython insertCustomLogRule myNode02:odr1 2 "response.code = 503" "503.log %t %r %s"L'exemple suivant ajoute une règle de consignation personnalisée à la position 1 pour consigner les erreurs produites lors de l'écriture d'une réponse à un client dans le journal response.write.error.log :
wsadmin.sh -f manageODR.py -lang jython insertCustomLogRule noeud1:odr 1 "response.write.error" "response.write.error.log %t %r %s"