![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
manageODR.py 스크립트
manageODR.py 스크립트를 사용하여 ODR(On Demand Router)의 클러스터를 작성하고 라우팅 규칙 및 사용자 정의 로깅을 관리할 수 있습니다.
위치
manageODR.py 스크립트는 app_server_root/bin 디렉토리에 있습니다. 이 스크립트를 실행하기 전에 환경 변수 WAS_HOME이 WebSphere® 설치 디렉토리를 가리키도록 구성되었는지 확인하십시오.
조작
manageODR.py
스크립트로 다음 조작을 수행할 수 있습니다.
- convertToCluster <node:odr> <cluster>: 이름이 odr인 node 노드의 기존 ODR을 ODR 클러스터 <cluster>(으)로 변환하십시오.
- createDynamicCluster <cluster> <nodeGroup>: 노드 그룹 <nodeGroup>의 노드에서 ODR 동적 클러스터 <cluster>(을)를 작성하십시오.
- addToCluster <node:odr> <cluster>: 이름이 odr인 노드 node에서 새 ODR을 작성하고 ODR 클러스터 cluster에 추가하십시오.
- insertMultiClusterRoutingRule <odrServerOrCluster> <protocolFamily> <ruleNumber> <condition> <multiClusterAction> <multiClusterSpecification>: 동일하거나 다른 셀에서 클러스터 간에 로드 밸런싱 또는 장애 조치(failover)를 수행하는 조치로 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의 로컬 파일 시스템에서 정적 HTML 컨텐츠를 제공하는 조치로 ODR 라우팅 규칙을 삽입합니다.
- insertCustomLogRule <odrServerOrCluster> <ruleNumber> <condition> <logFileFormat>: 위치 <ruleNumber>의 목록에 사용자 정의 로그 규칙을 삽입합니다.
- RemoveCustomLogRule <odrServerOrCluster> <ruleNumber>: 사용자 정의 로그 규칙 번호 <ruleNumber>를 제거합니다.
- listCustomLogRules <odrServerOrCluster>:
ODR 또는 ODR 클러스터와 연관된 사용자 정의 로그 규칙을 나열합니다. 인수는 다음과 같습니다.
- <node:odr>은 노드와 ODR의 이름입니다(예: mynode:myodr).
- <cluster>는 ODR(On Demand Router) 클러스터의 이름입니다.
- <odrServerOrCluster>는 <node:odr> 또는 <cluster>입니다.
- <protocolFamily>는 "HTTP" 또는 "SIP"입니다.
- <ruleNumber>는 1에서 총 규칙 수까지의 규칙 수입니다.
- <condition>은 연관된 조치를 트리거하기 위해 true로 평가되어야 하는 조건(예: 부울 표현식)입니다.
- <multiClusterAction>은 "장애 조치(failover)", "WLOR(Weighted Least Outstanding Requests)" 또는 "WRR"(Weighted Round Robin) 중 하나입니다.
- <multiClusterSpecification>은
다음 형식 중 하나를 사용하는 복수 클러스터의 스펙입니다.
- cluster = <cellname>/<clustername>: 특정 클러스터를 지정합니다.
- server = <cellname>/<nodename>/<servername>: 특정 서버를 지정합니다.
- module= <cellName>/<applicationName>/<editionName>/<moduleName>: 이 모듈이 배치되는 모든 서버를 지정합니다.
- <redirectUR>은 요청 경로를 재지정할 URL입니다.
- <errorCode>는 거부 라우팅 규칙에 대해 리턴하는 오류 리턴 코드입니다.
- <logFileFormat>은 로그 항목의 파일 이름과 형식을 나타내는 스펙입니다.
- <localPath>는 로컬 정적 컨텐츠를 제공하는 디렉토리입니다.
다음 예는 node 1에서 HTTP ODR odr을 작성하는 방법을 보여줍니다.
wsadmin.sh -f createodr.jacl node1 odr odr
다음 예는 노드 node1의 ODR odr을(를) ODR 클러스터 ODRCluster로 변환하는 방법을 보여줍니다.
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"다음 예는 response.write.error.log에서 클라이언트에 대한 응답을 기록할 때 발생할 수 있는 로그 오류에 위치 1의 사용자 정의 로그 규칙을 추가하는 방법을 보여줍니다.
wsadmin.sh -f manageODR.py -lang jython insertCustomLogRule node1:odr 1 "response.write.error" "response.write.error.log %t %r %s"