모니터링(JEUS6)

본 장에서는 JEUS 콘솔 툴과 WebAdmin을 사용하여 WebT 및 JTmax를 모니터링하기 위한 환경설정 방법, 모니터링 방법에 대해 설명한다.

1. 개요

WebT가 기동하고 있을 때 WebT 커넥션 그룹에 대한 현재 환경설정에 대한 정보를 조회하거나 커넥션 그룹의 상태, 커넥션의 호출 및 응답 횟수를 확인하는 등의 관리가 필요하다. 또한 JTmax가 기동하고 있을 경우에는 JTmax에 대한 환경설정 정보 및 동작하고 있는 스레드 수와 메소드 호출 횟수를 확인할 필요가 있다. 이를 위해서 WebT 모듈은 JEUS의 콘솔 툴 및 WebAdmin을 통해 WebT 및 JTmax의 정보를 제공한다.

JEUS WebAdmin 및 콘솔 툴을 이용한 WebT 관리 기능은 JEUS 6 Fix#7 이상부터 지원한다.

2. 환경설정

WebT 관리 기능을 사용하기 위해서는 별도로 배포된 모듈을 적용하는 것을 포함하여 몇 가지 작업을 수행해야 한다.

가장 기본적으로 JEUS 관리 툴(콘솔 툴 및 WebAdmin)을 이용하여 WebT Admin 및 JTmax Admin을 사용하려면 JEUS 설치 디렉터리 아래의 lib/system 디렉터리에 별도로 배포된 jext_webtadmin.jar 파일을 위치시킨다.

그외에 필요한 작업은 다음과 같다.

  • 모니터링 관련 설정(디렉터리 설정 및 mbean 설정)

  • webadmin.application 설정

  • node.xml 설정

  • catalog_ko.xml 설정

  • jeus.css 설정

모니터링 관련 설정

JEUS WebAdmin에서 WebT 모니터링 및 JTmax 모니터링 메뉴를 사용하려면 별도로 배포된 'jeus’라는 이름의 디렉터리를 JEUS가 설치된 디렉터리 아래의 다음 위치에 덮어쓰기 한다.

webhome/admin_home/WEB-INF/classes

모니터링 기능을 사용하기 위해서는 모니터링하려는 환경설정 파일에 다음과 같이 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
webadmin.application 설정

JEUS가 설치된 디렉터리의 다음 경로에 위치한 webadmin.application 파일을 편집한다. 이 파일은 XML 형식으로 되어 있다.

webhome/admin_home/WEB-INF

<application> 노드 아래의 <page> 노드에 다음과 같은 내용을 삽입한다.

  • WebT 설정

    <!--WEBT PAGE 설정-->
    <page name="JeusMonitoringWebtMonitoringService_Overview"
    specification-path="/jeus/tool/webadmin/page/JeusMonitoringWebtMonitoringService/Overview.page"/>
    <page name="JeusMonitoringWebtMonitoringService_Group"
    specification-path="/jeus/tool/webadmin/page/JeusMonitoringWebtMonitoringService/Group.page"/>
  • JTmax 설정

    <!--JTMAX PAGE 설정-->
    <page name="JeusMonitoringJTmaxMonitoringService_Overview"
    specification-path="/jeus/tool/webadmin/page/JeusMonitoringJTmaxMonitoringService/Overview.page"/>
  • JTC 설정

    <!--JTC PAGE 설정-->
    <page name="JeusMonitoringJTCMonitoringService_Overview"
    specification-path="/jeus/tool/webadmin/page/JeusMonitoringJTCMonitoringService/Overview.page"/>
    <page name="JeusMonitoringJTCMonitoringService_Remote"
    specification-path="/jeus/tool/webadmin/page/JeusMonitoringJTCMonitoringService/Remote.page"/>
node.xml 설정

JEUS가 설치된 디렉터리의 다음 경로에 위치한 node.xml 파일을 편집한다.

webhome/admin_home/WEB-INF/classes/jeus/tool/webadmin/resource

이 파일의 <node-specification> 노드 아래의 <node> 노드에 다음과 같은 내용을 삽입한다.

  • WebT 설정

    <!--WEBT 설정-->
    <node j2ee-type="WebtConnectionGroup"
            key="NodeTree.JeusMonitoring.WebtMonitoringService"
            page="JeusMonitoringWebtMonitoringService_Overview" target="rightPane"
            static="true">
        <parent j2ee-type="Folder" jeus-type="JeusMonitoring"/>
        <delegator j2ee-type="JeusService" jeus-type="JeusManager"/>
    
        <icon state="running" icon="webt_monitor"/>
        <icon state="xml" icon="webt_monitor"/>
        <icon state="failed" icon="webt_monitor"/>
    </node>
  • JTmax 설정

    <!--JTMAX 설정-->
    <node j2ee-type="JTmaxConnectionGroup"
            key="NodeTree.JeusMonitoring.JTmaxMonitoringService"
            page="JeusMonitoringJTmaxMonitoringService_Overview" target="rightPane"
            static="true">
        <parent j2ee-type="Folder" jeus-type="JeusMonitoring"/>
        <delegator j2ee-type="JeusService" jeus-type="JeusManager"/>
    
        <icon state="running" icon="jtmax_monitor"/>
        <icon state="xml" icon="jtmax_monitor"/>
        <icon state="failed" icon="jtmax_monitor"/>
    </node>
  • JTC 설정

    <!--JTC 설정-->
    <node j2ee-type="JTCConnectionGroup"
            key="NodeTree.JeusMonitoring.JTCMonitoringService"
            page="JeusMonitoringJTCMonitoringService_Overview" target="rightPane"
            static="true">
        <parent j2ee-type="Folder" jeus-type="JeusMonitoring"/>
        <delegator j2ee-type="JeusService" jeus-type="JeusManager"/>
    
        <icon state="running" icon="jtc_monitor"/>
        <icon state="xml" icon="jtc_monitor"/>
        <icon state="failed" icon="jtc_monitor"/>
    </node>
catalog_ko.xml 설정

JEUS가 설치된 디렉터리의 다음 경로에 위치한 catalog_ko.xml 파일을 편집한다.

webhome/admin_home/WEB-INF/classes/jeus/tool/webadmiin/resource/catalog

이 파일의 <catalog> 노드 아래의 <text> 노드에 다음과 같은 내용을 삽입한다.

  • WebT 설정

    <!--WEBT 설정-->
    <text key="NodeTree.JeusMonitoring.WebtMonitoringService">Webt 모니터링</text>
    <text key="JeusMonitoringWebtMonitoringService_Overview">개요</text>
    <text key="JeusMonitoringWebtMonitoringService_Group">Shared Connection Group</text>
    <text key="webt.overview.title">Webt 모니터링</text>
    <text key="webt.group.title">Webt Shared Connection Group 모니터링</text>
  • JTmax 설정

    <!--JTMAX 설정-->
    <text key="jtmax.overview.title">JTmax 모니터링</text>
    <text key="NodeTree.JeusMonitoring.JTmaxMonitoringService">JTmax 모니터링</text>
    <text key="JeusMonitoringJTmaxMonitoringService_Overview">개요</text>
  • JTC 설정

    <!--JTC 설정-->
    <text key="NodeTree.JeusMonitoring.JTCMonitoringService">JTC 모니터링</text>
    <text key="JeusMonitoringJTCMonitoringService_Overview">개요</text>
    <text key="JeusMonitoringJTCMonitoringService_Remote">Remote Domain</text>
    <text key="jtc.overview.title">JTC 모니터링</text>
    <text key="jtc.remote.title">JTC Remote Domain 모니터링</text>
jeus.css 설정

JEUS가 설치된 디렉터리의 다음 경로에 위치한 jeus.css 파일을 편집한다.

webhome/admin_home/css

이 파일의 끝에 다음과 같은 내용을 추가한다.

.jtc_monitor{background: url("../image/mbean/jtc.gif") no-repeat
scroll;}.webt_monitor{background: url("../image/mbean/webt.gif") no-repeat
scroll;}.jtmax_monitor{background: url("../image/mbean/jt
max.gif") no-repeat scroll;}

3. WebT 모니터링

본 절에서는 JEUS 콘솔 툴과 WebAdmin을 사용한 WebT 모니터링 방법에 대해 설명한다.

3.1. JEUS 콘솔 툴 사용

JEUS는 컨테이너의 상태를 확인하는 jeusadmin 명령을 제공한다. 이 명령은 새로 추가되었으며 모든 정보를 가장 상세하게 출력한다.

관리 툴을 사용하기 위해 콘솔 화면에서 다음과 같이 실행하면 jeusadmin의 명령 프롬프트 화면이 나타난다.

jeusadmin container name -U user name -P user passwd

jeusadmin 툴의 다음의 명령을 사용하여 WebT에 대한 모니터링이 가능한다.

  • webtadmin

  • webtinfo

  • webtinfo2

  • webtdetailinfo

  • webtshrink

  • webtreconfig

webtadmin

webtadmin은 WebT의 상태 정보를 조회하기 위한 명령이다. webtadmin의 모니터링 및 연결 정보에 출력되는 환경설정 항목과 그 값들은 사용자가 JEUS의 JEUSMain.xml이나 webt.properties 파일로 설정한 항목 및 값과 일치한다.

  • 사용법

    webtadmin [-C containerName] [-c connectionName] [-m] [-g groupName]
  • 예제

    각 옵션에 대한 설명과 실행 결과는 다음과 같다.

    • 옵션 없이 실행할 경우

      별도의 옵션 없이 실행하면 설정되어 있는 모든 WebT의 정보가 출력된다,

    • [-C containerName]

      특정 컨테이너에 속한 WebT 정보를 출력한다.

      container name : <container Name>
    • [-c connectionName]

      특정 커넥션에 대한 정보를 출력한다. connectionName은 커넥션 ID로 지정한다. ID의 일부 문자열을 변수로 하여 조회하는 것이 가능하다.

      ------------------------------------------------------------------------------
      id                ip              port  pool  REQ   REP   PRE   COM   ROL
      ------------------------------------------------------------------------------
      [tmax2.100015]    192.168.33.84   6734  true  0     0     0     0     0

      결과 화면에서 조회된 각 항목에 대한 설명은 다음과 같다.

      항목 설명

      pool

      Pool 안에 있는지의 여부를 나타낸다.

      REQ

      Request를 의미하며 요청이 보내진 횟수를 나타낸다.

      REP

      Reply를 의미하며 요청에 대한 응답을 받은 횟수를 나타낸다.

      PRE

      트랜잭션 Prepare를 요청한 횟수를 나타낸다.

      COM

      Commit이 요청된 횟수를 나타낸다.

      ROL

      Rollback이 요청된 횟수를 나타낸다.

    • [-m]

      모니터링 정보, fdl 파일, 로깅 정보를 출력한다.

      Monitoring --
      failback :       false
      checkalive :     true
      interval :       30
      
      fdl file         null
      
      Logging --
      log dir :        D:\tmax
      log file :       jtc.log
      log buf size :   1024
      log valid days   -1
      log file format :MMddyyyy
      log level :      debug
    • [-g groupName]

      특정 커넥션 그룹에 대한 정보를 출력한다.

      shared connection pool --
      tmax2:
      host address :   192.168.33.84:6734
      backup address : null
      user name :      null
      user password :  null
      domain name      null
      domain password  null
      init capacity    30
      max capacity     30
      increment rate   2
      max idle time    360000
      connect timeout  60
      tp timeout       60
      tx timeout       180
      tx block timeout 60
      headertype       3
      size             30
      support_xa       true
      encyption        false
      check            true
      provision        true
      autoclose        true
      enable event     false
      event flag       0
      event Handler    null
      
      clustered connection pool --
      ------------------------------------------------------------------------------
      tmaxc     tmax1,tmax2
      ------------------------------------------------------------------------------
webtinfo

webtinfo는 WebT 커넥션 그룹의 대략적인 정보를 조회하는 명령이며, 일정 횟수만큼 반복해서 상태를 모니터링할 수 있다.

  • 사용법

    webtinfo [node or container] [-i interval] [-k repeat_number] [webt_name]
    옵션 설명

    [node or container]

    지정한 특정 노드의 정보를 출력한다. 이 옵션이 없이 webtinfo 단독으로 사용할 경우에는 모든 노드의 정보를 출력한다.

    [-i], [-k] 및 webt_name 옵션과 조합하여 사용할 때에는 컨테이너의 이름을 입력받아 해당 컨테이너의 정보를 출력한다.

    [-i interval]

    webtinfo 명령의 실행 주기를 설정한다. (단위: 초)

    [-k repeat_number]

    webtinfo 명령의 실행 횟수를 설정한다. [-i interval]에서 설정한 주기로 설정값만큼 반복하여 실행한다.

    [webt_name]

    특정 커넥션 그룹의 정보를 지정하여 출력한다.

  • 예제

    webtinfo 실행 결과는 다음과 같이 출력된다.

    1 Container Name:Joonsoo-PC_container1
    Container Name:Joonsoo-PC_container1
    ==============================================================================
     ix    name                min    max   step  current  free  max_idle waiting
    ------------------------------------------------------------------------------
     1     tmax2               30     30    2     30       30    360000   0
    ==============================================================================
webtinfo2

webtinfo2는 jeusadmin의 webtinfo 명령과 같은 기능을 하며 특정 노드를 지정하여 -i, -k 옵션을 사용할 수 있는 명령어이다.

  • 사용법

    webtinfo2 [-n node] [-c container] [-i interval] [-k count] [-w webt]
    옵션 설명

    [-n node]

    조회 대상으로 특정 노드를 지정한다. 지정되어 있지 않을 경우 로컬 노드를 조회한다.

    [-c container]

    조회 대상으로 특정 컨테이너를 지정한다. -n과 같이 세팅되어 있을 경우 -c를 우선시한다. 지정되어 있지 않은 경우 조회 대상 노드의 모든 컨테이너를 조회한다.

    [-i interval]

    인터벌 시간을 숫자형으로 지정한다. 지정된 시간의 초만큼 대기하고 다음 상태를 출력한다. (기본값: 1)

    [-k count]

    조회 반복 횟수를 숫자형으로 지정한다. (기본값: 1)

    [-w webt]

    조회 대상으로 특정 webt connection group을 지정한다. 지정되어 있지 않은 경우는 조회 범위 내의 모든 WebT를 조회한다.

  • 예제

    webtinfo2 실행 결과는 다음과 같이 출력된다.

    1 Container Name:Joonsoo-PC_container1
    Container Name:Joonsoo-PC_container1
    ==============================================================================
     ix    name                min    max   step  current  free  max_idle waiting
    ------------------------------------------------------------------------------
     1     tmax2               30     30    2     30       30    360000   0
    ==============================================================================
webtdetailinfo

webtdetailinfo는 WebT 커넥션 그룹에 속하는 연결들의 자세한 정보를 모니터링하는 명령이다. 역시 일정 횟수만큼 반복해서 상태를 모니터링할 수 있다.

  • 사용법

    webtdetailinfo container_name webt_name [-i interval] [-k repeat_number]
    옵션 설명

    [-i interval]

    webtdetailinfo 명령의 실행 주기를 설정한다. (단위: 초)

    [-k repeat_number]

    webtdetailinfo 명령의 실행 횟수를 설정한다. [-i interval]에서 설정한 주기로 설정값만큼 반복하여 실행한다.

  • 예제

    webtdetailinfo 실행 결과는 다음과 같이 출력된다.

    Container Name:Joonsoo-PC_container1 Webt Name:tmax2
    ==============================================================================
    name            index         Connected Host        Connected Port
    ==============================================================================
    [tmax2.100003]  1             192.168.33.84         6734
    [tmax2.100004]  2             192.168.33.84         6734
webtshrink

webtshrink는 커넥션을 min 값까지 줄여주는 기능을 수행한다.

  • 사용법

    webtshrink [-c container_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 container_name] [-w webt_name] [-all]
    옵션 설명

    [-c container_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>:9744/webadmin

사용자명과 패스워드를 입력하여 로그인하면 다음과 같은 화면이 나타난다. 화면 왼쪽의 JEUS 노드 트리[JEUS모니터링] 내에 Webt, JTmax, JTC 모니터링 메뉴가 있다.

figure 4
JEUS WebAdmin 화면
  1. JEUS WebAdmin에 대한 자세한 내용은 JEUS 매뉴얼 중 "JEUS WebAdmin 안내서"를 참조한다.

  2. JTC 모니터링에 대한 자세한 내용은 Tmax JTC User Guide를 참조한다.

JEUS WebAdmin 화면에서 JEUS 노드 트리[JEUS 모니터링] > [Webt 모니터링]을 선택하면 다음과 같은 Webt 모니터링 화면으로 이동한다.

Webt 모니터링 화면에는 모니터링 정보와 로깅 정보, 그리고 커넥션 그룹의 간략한 정보가 출력된다.

figure 5
Webt 모니터링 메인화면

Webt 모니터링 화면의 logging info 영역에서 'group list'에 조회된 그룹명을 클릭하면 해당 커넥션 그룹의 설정된 환경 및 속한 커넥션의 운영 정보를 확인할 수 있다.

다음은 특정 그룹명을 클릭하면 나타나는 상세 화면이다. 조회되는 환경설정 항목과 그 값들은 사용자가 JEUS의 JEUSMain.xml이나 webt.properties 파일로 설정한 항목 및 값과 일치한다.

figure 6
Webt 모니터링 커넥션 그룹 정보 화면

4. JTmax 모니터링

본 절에서는 JEUS 콘솔 툴과 WebAdmin을 사용한 JTmax 모니터링 방법에 대해 설명한다.

4.1. JEUS 콘솔 툴 사용

JEUS 콘솔 툴을 사용하여 JTmax를 모니터링하려면 다음과 같이 실행하여 jeusadmin에 접속한다.

jeusadmin container name -U user name -P user passwd

jeusadmin 툴의 jtmaxadmin 명령을 사용하여 JTmax에 대한 모니터링이 가능한다.

jtmaxadmin

jtmaxadmin은 JTmax의 상태 정보를 조회하기 위한 명령이다. jtmaxadmin으로 출력되는 모니터링, 로깅 및 일반 정보의 환경설정 항목과 그 값들은 사용자가 JEUS의 JEUSMain.xml 파일로 설정한 항목 및 값과 일치한다.

jtmaxadmin는 별도의 옵션이 없고, 실행 결과는 다음과 같다.

NodeName> jtmaxadmin
container name : node_container1
Listen port :

jtmax listen port :     0
min thread :            2
max thread :            4
increment :             2
period :                600000

Logging :

log directory :         d:\
log file :              jtmax.log
log buffer size :       512
log file format :       MMddyyyy
log level :             debug
log valid days :        1

General Infomation :

fdl file :              c:\\tmax\\tmax.fdl
default character set : null

EJB Infomation :
------------------------------------------------------------------------------
service name        export name         method name         call count
------------------------------------------------------------------------------
JTOUPPER4           echotest            ToUpper             0
TPCALLCARRAY_J      tpcall              tpcallCarray        0
JTOUPPER3           echotest            ToUpper             0
JTOUPPER2           echotest            ToUpper             0
ECHOCHAR_J          echo                echoChar            0
JTOUPPER1           echotest            ToUpper             0
ECHOSHORT_J         echo                echoShort           0
TPCALLFIELD_J       tpcall              tpcallField         0
FDLINSERT_J         tpcall              tpcallFdlInsert     0
ECHOLONG_J          echo                echoLong            0
GSVC03              echotest            setStringEcho2      0
ECHOFLOAT_J         echo                echoFloat           0
GSVC02              echotest            setIntEcho          0
ECHOINT_J           echo                echoInt             0
GSVC01              echotest            setStringEcho       0
INSERT_J            echo                insert              0
TPCALLSTRING_J      tpcall              tpcallString        0
ECHODOUBLE_J        echo                echoDouble          0
ECHOSTRING_J        echo                echoString          0

Condition :

request :       0
reply :         0
prepare :       0
commit :        0
rollback :      0

4.2. JEUS WebAdmin 사용

JEUS WebAdmin을 사용하여 JTmax를 모니터링하려면 웹 브라우저에 다음과 같이 주소를 입력한다.

http://<ip address>:9744/webadmin

JEUS WebAdmin 화면으로 이동하고, 사용자명과 패스워드를 입력하여 로그인한다. JEUS WebAdmin의 접속, 로그인 및 메인화면에 대한 내용은 이미 WebT 모니터링 관련 부분에서 설명하였으므로 본 절에서는 생략한다. 자세한 내용은 JEUS WebAdmin 사용을 참고한다.

  1. JEUS WebAdmin에 대한 자세한 사항은 "JEUS WebAdmin 안내서"를 참조한다.

  2. JTC 모니터링에 대한 자세한 내용은 Tmax JTC User Guide를 참조한다.

WebAdmin 화면의 JEUS 노드 트리에서 [JEUS 모니터링] > [JTmax 모니터링]을 선택하면 다음과 같은 JTmax 모니터링 화면이 나타난다. 이 화면에서는 JTmax의 모니터링 정보 및 운영 정보를 모두 확인할 수 있다. JTmax 모니터링으로 출력되는 환경설정 항목과 그 값들은 사용자가 JEUS의 JEUSMain.xml 파일로 설정한 항목 및 값과 일치한다.

figure 7
JTmax 모니터링 메인화면