![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
manageODR.py 脚本
可以使用 manageODR.py 脚本来创建随需应变路由器 (ODR) 集群以及管理路由规则和定制日志记录。
位置
manageODR.py 脚本位于 app_server_root/bin 目录中。在运行此脚本前,确保已将 WAS_HOME 环境变量配置为指向 WebSphere® 安装的目录。
操作
可以使用 manageODR.py 脚本执行下列操作:
- convertToCluster <node:odr> <cluster>:将节点 node 上名为 odr 的现有 ODR 转换成名为 <cluster> 的 ODR 集群。
- createDynamicCluster <cluster> <nodeGroup>:在节点组 <nodeGroup> 中的节点上创建名为 <cluster> 的 ODR 动态集群。
- addToCluster <node:odr> <cluster>:使用 odr 名称在节点 node 上创建新的 ODR,并将其添加到 ODR 集群 cluster。
- insertMultiClusterRoutingRule <odrServerOrCluster> <protocolFamily> <ruleNumber> <condition> <multiClusterAction> <multiClusterSpecification>:插入带有操作的 ODR 路由规则,该操作用于在相同或不同单元的集群间进行负载均衡或故障转移。
- insertRedirectRoutingRule <odrServerOrCluster> <ruleNumber> <condition> <redirectURL>:插入带有操作的 ODR 路由规则,该操作用于将重定向命令返回到客户机。这仅支持 HTTP 协议系列。
- insertRejectRoutingRule <odrServerOrCluster> <protocolFamily> <ruleNumber> <condition> <errorCode>:插入带有操作的 ODR 路由规则,该操作用于将特定错误代码返回到客户机。
- removeRoutingRule <odrServerOrCluster> <protocolFamily> <ruleNumber> :移除由协议系列(例如 HTTP 协议系列)和规则编号指定的 ODR 路由规则。
- listRoutingRules <odrServerOrCluster> <protocolFamily>:列出指定协议系列(例如 HTTP 协议系列)的 ODR 路由规则。
- insertLocalContentRoutingRule <odrServerOrCluster> <ruleNumber> <condition> <localPath>:插入带有操作的 ODR 路由规则,该操作用于服务来自 ODR 本地文件系统的静态 HTML 内容。
- insertCustomLogRule <odrServerOrCluster> <ruleNumber> <condition> <logFileFormat>:在 <ruleNumber> 位置将定制日志规则插入到该列表中。
- RemoveCustomLogRule <odrServerOrCluster> <ruleNumber>:移除定制日志规则号 <ruleNumber>。
- listCustomLogRules <odrServerOrCluster>:列出与 ODR 或 ODR 集群关联的定制日志规则。自变量包括:
- <node:odr> 是节点和 ODR 的名称(例如,mynode:myodr)。
- <cluster> 是随需应变路由器 (ODR) 集群的名称。
- <odrServerOrCluster> 是 <node:odr> 或 <cluster>。
- <protocolFamily> 是“HTTP”或“SIP”。
- <ruleNumber> 是规则的编号,范围为从 1 到规则的总数。
- <condition> 是条件(即布尔表达式),该条件必须求值为 true 才能触发关联的操作。
- <multiClusterAction> 是“Failover”、“WLOR”(最小加权未处理请求)或“WRR”(加权循环法)其中的某个值。
- <multiClusterSpecification> 是使用以下某种格式来指定多个集群:
- cluster = <cellname>/<clustername>:指定特定集群。
- server = <cellname>/<nodename>/<servername>:指定特定服务器。
- module = <cellName>/<applicationName>/<editionName>/<moduleName>:指定将此模块部署至的所有服务器。
- <redirectUR> 是要将请求重定向至的 URL。
- <errorCode> 是要为拒绝路由规则返回的错误返回码。
- <logFileFormat> 指定日志条目的文件名和格式。
- <localPath> 是用于供应本地静态内容的目录。
以下示例显示如何在 node 1 上创建名为 odr 的 HTTP ODR:
wsadmin.sh -f createodr.jacl node1 odr odr
以下示例显示如何将节点 node1 上的名为 odr 的 ODR 转换为名为 ODRCluster 的 ODR 集群:
wsadmin.sh -f manageODR.py -lang jython convertToCluster node1:odr ODRCluster以下示例显示如何添加定制日志规则,以将其服务时间长于 2 秒的所有请求放入 slow.log 定制日志中,并包括向其发送请求的应用程序服务器和服务时间:
wsadmin.sh -f manageODR.py -lang jython insertCustomLogRule myNode02:odr1 1 "service.time > 2000" "slow.log %t %r %Z %T"以下示例显示如何添加定制日志规则以将所有 503 响应放入 503.log 中。在位置 2 添加该规则。如果在位置 2 有一个现有规则,那么会在现有规则前插入新规则。
wsadmin.sh -f manageODR.py -lang jython insertCustomLogRule myNode02:odr1 2 "response.code = 503" "503.log %t %r %s"以下示例显示如何在位置 1 添加定制日志规则以在将客户机的响应写入到 response.write.error.log 中时记录发生的错误:
wsadmin.sh -f manageODR.py -lang jython insertCustomLogRule node1:odr 1 "response.write.error" "response.write.error.log %t %r %s"