모니터링(JEUS7)
본 장에서는 JEUS 7.x 버전의 콘솔 툴과 WebAdmin을 사용하여 WebT 및 JTmax를 모니터링하기 위한 환경설정 방법, 모니터링 방법에 대해 설명한다.
1. 개요
WebT가 기동하고 있을 때 WebT 커넥션 그룹에 대한 현재 환경설정에 대한 정보를 조회하거나 커넥션 그룹의 상태, 커넥션의 호출 및 응답 횟수를 확인하는 등의 관리가 필요하다. 또한 JTmax가 기동하고 있을 경우에는 JTmax에 대한 환경설정 정보 및 동작하고 있는 스레드 수와 메소드 호출 횟수를 확인할 필요가 있다. 이를 위해서 WebT 모듈은 JEUS의 콘솔 툴 및 WebAdmin을 통해 WebT 및 JTmax 의 정보를 제공한다.
JEUS WebAdmin 및 콘솔 툴을 이용한 WebT 관리 기능은 WebT 7.1, JEUS 7 Fix#1 이상부터 지원한다. |
2. 환경설정
WebT 관리 기능을 사용하기 위해서는 별도로 배포된 모듈을 적용하는 것을 포함하여 몇 가지 작업을 수행해야 한다.
Console Admin은 DAS에 jext_webtadmin.jar를 $JEUS_HOME/jext 디렉터리에 위치시키고, webt*.jar 만 $JEUS_HOME/lib/system이나 $JEUS_HOME/lib/application 디렉터리에 위치하고 설정 후 JEUS를 재기동하면 바로 사용 가능하다.
Console Admin, WebAdmin 을 사용하기 위해 필요한 다음과 같다.
-
모니터링 관련 설정(디렉터리 설정 및 MBean 설정)
-
JEUS WebAdmin 패치
모니터링 관련 설정
모니터링 기능을 사용하기 위해서는 모니터링하려는 환경설정 파일에 다음과 같이 mbean 설정을 해야 한다.
-
WebT 설정
webt.properties webt.mbean=true
-
JTmax 설정
<JEUSMain.xml>
<external-resource> <property> <key>mbean</key> <value>true</value> </property> </external-resource>
-
JTC 설정
tux.properties tux.mbean=true
JEUS WebAdmin 패치
JEUS가 설치된 디렉터리의 다음 경로에 위치한 $JEUS_HOME/lib/systemapps/webadmin.war 를 copy 하고 압축을 해제한다. 원본 war 파일을 삭제한다.
cp $JEUS_HOME/lib/systemapps/webadmin.war /tmp/webadmin/ cd /tmp/webadmin jar xvf webadmin.war rm webadmin.war
배포한 webt-jeus7-webadmin-plugin.jar 파일을 압축 해제한 경로 중 WEB-INF/lib 에 복사한다.
# JEUS 7.0 Fix1 ~ Fix3 cp ./webt-jeus7-fix1-webadmin-plugin.jar /tmp/webadmin/WEB-INF/lib/ # JEUS 7.0 Fix2 ~ Fix3 cp ./webt-jeus7-fix2-webadmin-plugin.jar /tmp/webadmin/WEB-INF/lib/ # JEUS 7.0 Fix4 cp ./webt-jeus7-fix4-webadmin-plugin.jar /tmp/webadmin/WEB-INF/lib/
WEB-INF/classes/scalate에서 $_scalate_$sitemap_scaml*과 tags/main/$_scalate_$menu_scaml* 파일을 삭제한다.
cd /tmp/webadmin/WEB-INF/classes/scalate rm \$_scalate_\$sitemap_scaml* cd /tmp/webadmin/WEB-INF/classes/scalate/tags/main rm \$_scalate_\$menu_scaml*
webadmin.war를 생성한다.
cd /tmp/webadmin jar cvfm webadmin.war META-INF/MANIFEST.MF *
webadmin.war를 원래 있던 systemapps로 복사한다.
cd /tmp/webadmin cp webadmin.war $JEUS_HOME/lib/systemapps/
3. WebT 모니터링
본 절에서는 JEUS 콘솔 툴과 WebAdmin을 사용한 WebT 모니터링 방법에 대해 설명한다.
3.1. JEUS 콘솔 툴 사용
JEUS는 컨테이너의 상태를 확인하는 jeusadmin 명령을 제공한다. 이 명령은 새로 추가되었으며 모든 정보를 가장 상세하게 출력한다.
관리 툴을 사용하기 위해 콘솔 화면에서 다음과 같이 실행하면 jeusadmin의 명령 프롬프트 화면이 나타난다.
jeusadmin -host addr:portno -u username -p password
jeusadmin 툴의 다음의 명령을 사용하여 WebT에 대한 모니터링이 가능한다.
-
webtadmin
-
webtinfo
-
webtdetailinfo
-
webtshrink
-
webtreconfig
webtadmin
webtadmin은 WebT의 상태 정보를 조회하기 위한 명령이다. webtadmin의 모니터링 및 연결 정보에 출력되는 환경설정 항목과 그 값들은 사용자가 JEUS의 JEUSMain.xml이나 webt.properties 파일로 설정한 항목 및 값과 일치한다.
-
사용법
webtadmin [-C serverName] [-m] [-g groupName] [-c connectionName]
-
예제
각 옵션에 대한 설명과 실행 결과는 다음과 같다.
-
옵션 없이 실행할 경우
별도의 옵션 없이 실행하면 설정되어 있는 모든 WebT의 정보가 출력된다,
-
[-C serverName]
특정 서버에 속한 WebT 정보를 출력한다.
<serverName>
-
[-c connectionName]
특정 커넥션에 대한 정보를 출력한다. connectionName은 커넥션 ID로 지정한다. ID의 일부 문자열을 변수로 하여 조회하는 것이 가능하다.
+----------------+----------------+-------+------+-----+-----+-----+-----+-----+ | ID | IP | PORT | POOL | REQ | REP | PRE | COM | ROL | +----------------+----------------+-------+------+-----+-----+-----+-----+-----+ | [tmax1.100013] | 192.168.51.185 | 10000 | true | 0 | 0 | 0 | 0 | 0 |
결과 화면에서 조회된 각 항목에 대한 설명은 다음과 같다.
항목 설명 pool
Pool 안에 있는지의 여부를 나타낸다.
REQ
Request를 의미하며 요청이 보내진 횟수를 나타낸다.
REP
Reply를 의미하며 요청에 대한 응답을 받은 횟수를 나타낸다.
PRE
트랜잭션 Prepare를 요청한 횟수를 나타낸다.
COM
Commit이 요청된 횟수를 나타낸다.
ROL
Rollback이 요청된 횟수를 나타낸다.
-
[-m]
모니터링 정보, fdl 파일, 로깅 정보를 출력한다.
+---------------------------------------------------+-------+ | failback : | false | | checkalive : | false | | interval : | 60000 | +---------------------------------------------------+-------+ ============================================================= =============================================================== FDL [adminServer] +----------+--------------------------------------------------+ | fdl file | c:\temp\jtmax.fdl | +----------+--------------------------------------------------+ =============================================================== =============================================================== LOGGING [adminServer] +--------------------------------------------------+----------+ | log directory : | c:/temp | | log file : | webt.log | | log buffer size : | 1024 | | log valid days | -1 | | log file format : | MMddyyyy | | log level : | debug | +--------------------------------------------------+----------+
-
[-g groupName]
특정 커넥션 그룹에 대한 정보를 출력한다.
SHARED CONNECTION POOL [adminServer] [tmax1] +------------------+------------------------------------------+ | host address : | 192.168.51.185:10000 | | backup address : | | | user name : | | | user password : | | | domain name | | | domain password | | | log directory | c:\temp | | log file | webt.log | | log buffer size | 512 | | log valid days | 1 | | log file format | MMddyyyy | | log level | 500 | | init capacity | 10 | | max capacity | 20 | | increment rate | 2 | | max idle time | 360000 | | connect timeout | 20 | | tp timeout | 60 | | tx timeout | 180 | | tx block timeout | 60 | | headertype | 3 | | size | 10 | | support_xa | true | | encyption | false | | check | true | | provision | true | | autoclose | true | | enable event | false | | event flag | 0 | | event Handler | | +------------------+------------------------------------------+
-
webtinfo
webtinfo는 WebT 커넥션 그룹의 대략적인 정보를 조회하는 명령이다.
-
사용법
webtinfo [Server Name] [Connetion Pool Name]
옵션 설명 [Server Name]
지정한 특정 서버의 정보를 출력한다. 이 옵션이 없이 webtinfo 단독으로 사용할 경우에는 모든 서버의 정보를 출력한다.
[Connetion Pool Name]
특정 커넥션 그룹의 정보를 지정하여 출력한다.
-
예제
webtinfo 실행 결과는 다음과 같이 출력된다.
+------------------------------------------------------------------------------+ | 1 Server Name:adminServer | | Server Name:adminServer | |==============================================================================| | ix name min max step current free max_idle waiting| |------------------------------------------------------------------------------| | 1 tmax1 10 20 2 10 10 360000 0 | |==============================================================================| +------------------------------------------------------------------------------+ ================================================================================ ================================================================================ +------------------------------------------------------------------------------+ | 2 Server Name:server1 | | Server Name:server1 | |==============================================================================| | ix name min max step current free max_idle waiting| |------------------------------------------------------------------------------| | fail to webtInfo server1 null(check out if server1 is ready. cannot find its | |address.) | +------------------------------------------------------------------------------+
webtdetailinfo
webtdetailinfo는 WebT 커넥션 그룹에 속하는 연결들의 자세한 정보를 모니터링하는 명령이다.
-
사용법
webtdetailinfo server_name webt_name
옵션 설명 server_name
서버명이다.
webt_name
커넥션 ID 이다.
-
예제
webtdetailinfo 실행 결과는 다음과 같이 출력된다.
+------------------------------------------------------------------------------+ | Server Name:adminServer Webt Name:tmax1 | |==============================================================================| | name index Connected Host Connected Port | |==============================================================================| | [tmax1.100004] 1 192.168.51.185 10000 | | [tmax1.100005] 2 192.168.51.185 10000 | | [tmax1.100006] 3 192.168.51.185 10000 | | [tmax1.100007] 4 192.168.51.185 10000 | | [tmax1.100008] 5 192.168.51.185 10000 | | [tmax1.100009] 6 192.168.51.185 10000 | | [tmax1.100010] 7 192.168.51.185 10000 | | [tmax1.100011] 8 192.168.51.185 10000 | | [tmax1.100012] 9 192.168.51.185 10000 | | [tmax1.100013] 10 192.168.51.185 10000 | |==============================================================================| +------------------------------------------------------------------------------+
webtshrink
webtshrink는 커넥션을 min 값까지 줄여주는 기능을 수행한다.
-
사용법
webtshrink [-S server_name] [-w webt_name] [-all]
옵션 설명 [-c container_name]
해당 기능을 적용할 서버명을 지정한다.
[-w webt_name]
해당 기능을 적용할 WebT 커넥션 그룹명을 지정한다.
[all]
모든 WebT 커넥션 그룹에 대해 해당 기능을 수행한다.
-
예제
webtshrink 실행 결과는 다음과 같이 출력된다.
1 Container Name:Joonsoo-PC_container1 webtShrink Joonsoo-PC_container1 successfully
webtreconfig
webtreconfig는FailBack 및 커넥션을 min 값까지 줄여주는 기능을 수행한다.
-
사용법
webtreconfig [-c server_name] [-w webt_name] [-all]
옵션 설명 [-c server_name]
해당 기능을 적용할 서버명을 지정한다.
[-w webt_name]
해당 기능을 적용할 WebT 커넥션 그룹명을 지정한다.
[all]
모든 WebT 커넥션 그룹에 대해 해당 기능을 수행한다.
-
예제
webtreconfig 실행 결과는 다음과 같이 출력된다.
1 Container Name:Joonsoo-PC_container1 webtreconfig Joonsoo-PC_container1 successfully
3.2. JEUS WebAdmin 사용
JEUS는 컨테이너의 상태를 확인하기 위한 방안으로 웹 브라우저를 통한 WebAdmin 툴을 제공한다. 일반적으로 JEUS를 기동한 후 웹 브라우저에 다음과 같이 주소를 입력하면 JEUS WebAdmin 화면으로 이동한다.
http://<ip address>:9736/webadmin/login
사용자명과 패스워드를 입력하여 로그인하면 다음과 같은 화면이 나타난다. 화면 왼쪽의 JEUS 노드 트리의 [모니터링] 내에 Webt, JTmax, JTC 모니터링 메뉴가 있다.
|
JEUS WebAdmin 화면에서 JEUS 노드 트리의 [모니터링] > [WebT]을 선택하면 다음과 같은 WebT 모니터링 화면으로 이동한다.
WebT 모니터링 화면에는 모니터링 정보와 로깅 정보, 그리고 커넥션 그룹의 간략한 정보가 출력된다.
WebT 모니터링 화면의 logging info 영역에서 'group list'에 조회된 그룹명을 클릭하면 해당 커넥션 그룹의 설정된 환경 및 속한 커넥션의 운영 정보를 확인할 수 있다.
다음은 특정 그룹명을 클릭하면 나타나는 상세 화면이다. 조회되는 환경설정 항목과 그 값들은 사용자가 JEUS의 domain.xml이나 webt.properties 파일로 설정한 항목 및 값과 일치한다.
4. JTmax 모니터링
본 절에서는 JEUS 콘솔 툴과 WebAdmin을 사용한 JTmax 모니터링 방법에 대해 설명한다.
4.1. JEUS 콘솔 툴 사용
JEUS 콘솔 툴을 사용하여 JTmax를 모니터링하려면 다음과 같이 실행하여 jeusadmin에 접속한다.
jeusadmin -host <addr:portno> -u <user name> -p <passwd>
jeusadmin 툴의 jtmaxadmin 명령을 사용하여 JTmax에 대한 모니터링이 가능한다.
jtmaxadmin
jtmaxadmin은 JTmax의 상태 정보를 조회하기 위한 명령이다. jtmaxadmin으로 출력되는 모니터링, 로깅 및 일반 정보의 환경설정 항목과 그 값들은 사용자가 JEUS의 JEUSMain.xml 파일로 설정한 항목 및 값과 일치한다.
jtmaxadmin는 별도의 옵션이 없고, 실행 결과는 다음과 같다.
NodeName> jtmaxadmin ================================================================== LISTEN PORT [adminServer] [jtmax2] +-------------------------------------------------------+--------+ | jtmax listen port : | 8112 | | min thread : | 10 | | max thread : | 20 | | increment : | 2 | | period : | 600000 | +-------------------------------------------------------+--------+ ================================================================== ============================================================== LOGGING [adminServer] [jtmax2] +------------------------------------------------+-----------+ | log directory : | c:\temp | | log file : | jtmax.log | | log buffer size : | 512 | | log file format : | MMddyyyy | | log level : | debug | | log valid days : | 1 | +------------------------------------------------+-----------+ ============================================================== ================================================================= GENERAL INFORMATION [adminServer] [jtmax2] +-------------------------------------------+-------------------+ | fdl file : | c:\temp\jtmax.fdl | | default character set : | | +-------------------------------------------+-------------------+ ================================================================= ================================================================== CONDITION [adminServer] [jtmax2] +--------------------------------------------------------+-------+ | current thread : | 5 | | running thread : | 5 | | request : | 1 | | reply : | 0 | | prepare : | 0 | | commit : | 0 | | rollback : | 0 | +--------------------------------------------------------+-------+ ================================================================== ================================================================================ EJB LIST [adminServer] [jtmax2] +----------------------+-------------------+------------------+----------------+ | SERVICE NAME | EXPORT NAME | METHOD NAME | CALL COUNT | +----------------------+-------------------+------------------+----------------+ | ECHOSTRING_J | EchoTestV2_1 | toupper | 0 | +----------------------+-------------------+------------------+----------------+ ================================================================================ ================================================================== LISTEN PORT [adminServer] [jtmax1] +-------------------------------------------------------+--------+ | jtmax listen port : | 8111 | | min thread : | 10 | | max thread : | 20 | | increment : | 2 | | period : | 600000 | +-------------------------------------------------------+--------+ ================================================================== ============================================================== LOGGING [adminServer] [jtmax1] +------------------------------------------------+-----------+ | log directory : | c:\temp | | log file : | jtmax.log | | log buffer size : | 512 | | log file format : | MMddyyyy | | log level : | debug | | log valid days : | 1 | +------------------------------------------------+-----------+ ============================================================== ================================================================= GENERAL INFORMATION [adminServer] [jtmax1] +-------------------------------------------+-------------------+ | fdl file : | c:\temp\jtmax.fdl | | default character set : | | +-------------------------------------------+-------------------+ ================================================================= ================================================================== CONDITION [adminServer] [jtmax1] +--------------------------------------------------------+-------+ | current thread : | 5 | | running thread : | 5 | | request : | 1 | | reply : | 0 | | prepare : | 0 | | commit : | 0 | | rollback : | 0 | +--------------------------------------------------------+-------+ ================================================================== ================================================================================ EJB LIST [adminServer] [jtmax1] +----------------------+-------------------+------------------+----------------+ | SERVICE NAME | EXPORT NAME | METHOD NAME | CALL COUNT | +----------------------+-------------------+------------------+----------------+ | ECHOSTRING_J | EchoTestV2_1 | toupper | 0 | +----------------------+-------------------+------------------+----------------+ ================================================================================
4.2. JEUS WebAdmin 사용
JEUS WebAdmin을 사용하여 JTmax를 모니터링하려면 웹 브라우저에 다음과 같이 주소를 입력한다.
http://<ip address>:9736/webadmin/login
JEUS WebAdmin 화면으로 이동하고, 사용자명과 패스워드를 입력하여 로그인한다. JEUS WebAdmin의 접속, 로그인 및 메인화면에 대한 내용은 이미 WebT 모니터링 관련 부분에서 설명하였으므로 본 절에서는 생략한다. 자세한 내용은 JEUS WebAdmin 사용을 참고한다.
|
WebAdmin 화면의 JEUS 노드 트리에서 [모니터링] > [JTmax]을 선택하면 다음과 같은 JTmax 모니터링 화면이 나타난다. 이 화면에서는 JTmax의 모니터링 정보 및 운영 정보를 모두 확인할 수 있다. JTmax 모니터링으로 출력되는 환경설정 항목과 그 값들은 사용자가 JEUS의 JEUSMain.xml 파일로 설정한 항목 및 값과 일치한다.