Resin에 제니퍼 에이전트 설치

UNIX 환경

제니퍼 에이전트 설치는 사전설치(pre-installation), 사후설치(post-installation) 그리고 설치확인 작업으로 구성되어 있다.

Resin 설치 환경

아래의 표는 제니퍼 에이전트 설치에 따른 설치자 이해를 돕기 위해 제니퍼 에이전트가 설치된 서버의 환경정보를 보여주고 있다. 제니퍼 에이전트 디렉토리 하위 파일 및 디렉토리를 Resin이 운영중인 서버의 디렉토리로 복사한다. 본 설치가이드는 아래의 환경값을 기준으로 설명되며, 실제 작업시는 사용자 서버의 환경정보에 맞추어 설치작업을 진행해야 한다

제니퍼 에이전트 구성 예

구 분

설정 환경

제니퍼 에이전트 홈 디렉토리

/home/jennifer/agent

자바 홈 디렉토리

/usr/java

제니퍼 서버 IP Address

192.168.0.139

사전설치(Pre-Installation) 작업

제니퍼 에이전트 디렉토리에서 preinstall.sh 을 실행한다.

JAVA_HOME 지정

Resin이 사용하는 JAVA_HOME 디렉토리를 지정한다. Resin이 사용하는 JAVA_HOME을 확인한 후, lwst.jdk.jar 파일을 생성하는 작업을 한다.

######################################################## 
  Step 1. Build LWST 
  ######################################################## 

  Type the JAVA_HOME directory which is used by Java Application Server.

  Input [JAVA_HOME] which is used for Java Application Server. ===>> /usr/java
  [/usr/java] is set as JAVA_HOME

  Creating lwst.jdk.jar .... 
 
  LWST(lwst.jdk.jar) build successful

Native Library 설정

제니퍼 에이전트에서 시스템의 CPU, 메모리 정보를 수집하기 위하여 네이티브 라이브러리를 찾기위해 test.sh 로 테스트 한 후, 성공한 libjennifer20.so(sl) 파일을 agent home 디렉토리에 복사한다.

######################################################## 
  Step 2. JENNIFER NATIVE LIBRARY SETTING 
  ######################################################## 
 
  Is Web Application Server running with the -d64 option? [y/n] 

  libjennifer20_AMDx86.64.so test fail 
  libjennifer20_ibm_ppc64.so test fail 
  
  libjennifer20_linux_32_32.so test success 
  
  /home/jennifer/agent/libjennifer20.so file is copied successfully

에이전트 설정

제니퍼 에이전트의 설정파일을 구성하는 작업을 한다. 에이전트명을 반드시 3자로 지정하여야 한다. 지정한 에이전트명으로 설정파일이 생성된다. agent명을 제외한 다른 입력값들은 값을 기입하지 않고 엔터를 입력하면 기본 값을 사용하게 된다. 생성작업을 원하지 않을 경우(‘n’을 선택한 경우) 새로운 설정파일은 생성되지 않는다. 이 경우 제니퍼가 제공하고 있는 w11.conf혹은 jennifer.conf파일을 환경에 맞춰 수정한 후 사용할 수 있다.

########################################################
  Step 3. JENNIFER AGENT CONFIGURATION SETTING  
  ######################################################## 
  Do you want to customize agent configuration file ? [y/n] 
  
  Input the Agent Name [exactly 3 char]  ex) W11 ===>> X11    
  license_filename [ /home/jennifer/agent/license.txt ] ? 
  logfile [ /home/jennifer/agent/jennifer_X11.log ] ? 
  agent_tcp_port [ 7750 ] ? 
  udp_server_host [ localhost ] ? 
  server_udp_runtime_port [ 6901 ] ? 
  server_udp_listen_port [ 6902 ] ? 
  server_udp_lwst_call_stack_port [ 6703 ] ?  
  The Agent configuration is completed...
  Please, proceed with Post Installation tasks 
  [Pre-Installation is finished]
옵션설명

옵 션

설 명

agent_name

영어와 숫자의 조합으로된 3글자의 에이전트 구분자를 지정한다.

license_filename

라이센스키를 저장할 파일 경로 및 파일명을 지정한다.

logfile

제니퍼 에이전트 로그기록파일의 경로 및 파일명을 지정한다.

agent_tcp_port

제니퍼 에이전트에서 바인딩 할 포트를 지정한다.

udp_server_host

제니퍼 서버가 설치된 서버의 IP Address를 지정한다.

요약 및 설정해야할 옵션

마지막으로 설정정보를 확인하고 Resin의 옵션 설정하는 부분에 아래의 옵션을 추가한다.

[ Pre-Installation Summary ]  
  Java Application Server Home Directory        :  
  JDK Home Directory                            : /usr/java 
  Jennifer Agent Directory                      : /home/jennifer/agent 
  Jennifer LWST file                            : /home/jennifer/agent/lwst.jdk.jar 
  Jennifer Native library file                  : /home/jennifer/agent/libjennifer20.so(sl) 

  #######################################################################
  Please add the following configuration to your web application Server
  ####################################################################### 
  -Xbootclasspath/p:/home/jennifer/agent/lwst.jdk.jar:/home/jennifer/agent/lwst.boot.jar:/home/jennifer/agent/jennifer.boot.jar
  -Djennifer.config=/home/jennifer/agent/X11.conf
  -javaagent:/home/jennifer/agent/lwst.javaagent.jar

사후설치(Post-Installation) 작업

사전설치 작업을 통해 작성된 라이브러리 및 에이전트 구성파일 경로를 Resin 자바옵션에 설정하는 작업을 한다.

JNI 파일 복사

JNI테스트가 완료된 /home/jennifer/agent/libjennifer20.so(sl) 파일을 Resin에서 사용하는 JDK의 sun.boot.library.path 위치에 복사한다.

Resin 2.x/3.0.x 자바옵션 설정

자바옵션중에 -Xbootclasspath/p 와 -javaagent 옵션 앞에 -J 옵션을 추가해야 한다.

-J-Xbootclasspat/p -J-javaagent

Resin이 사용하는 JDK가 1.4 이하인 경우 javaagent 옵션을 설정하지 않는다.

Resin 3.1.x 자바옵션 설정

아래와 같이 태그 안에 3개 혹은 2개의 옵션을 설정한다.

<jvm-arg>-Xbootclasspath/p:.....</jvm-arg>

<jvm-arg>-Djennifer.config=....</jvm-arg>

<jvm-arg>-javaagent:....</jvm-arg>

Resin이 사용하는 JDK가 1.4 이하인 경우 javaagent 옵션을 설정하지 않는다.

Resin 4.x 자바 옵션 설정

아래와 같이 태그 안에 3개 혹은 2개의 옵션을 설정한다.

<jvm-arg>-Xbootclasspath/p:.....</jvm-arg>

<jvm-arg>-Djennifer.config=....</jvm-arg>

<jvm-arg>-javaagent:....</jvm-arg>

Resin이 사용하는 JDK가 1.4 이하인 경우 javaagent 옵션을 설정하지 않는다.

Resin 재시작 및 확인 사항

  1. 라이센스키 등록

Resin을 재시작 하면 제니퍼 에이전트가 동작하게 되며, 아래의 내용들을 확인한다.

JENNIFER 4.5.3(2011-10-04) started.
agent_name=X11
jennifer.config=/home/jennifer/agent/W11.conf
agent_tcp_port=7751
udp_server_host=192.168.0.139
server_udp_runtime_port=6901
server_udp_listen_port=6902
server_udp_lwst_call_stack_port=6703
enable=true
license_filename=/home/jennifer/agent/license.txt :ExpireDate: 2011-06-28
logfile=/home/jennifer/agent/jennifer_X11.log
LWST enabled=true
enable_jdbc_sql_trace=true
enable_jdbc_oracle_dependency_used=false
enable_extra_agent=true
----------------------
OS/Java=Linux,,Java(TM) SE Runtime Environment,Java HotSpot(TM) Server VM,10.0-b23
sun.boot.class.path==/home/jennifer/agent/jennifer.boot.jar:/home/jennifer/agent/lwst.jdk.jar:/home/jennifer/agent/lwst.boot.jar
...
sun.boot.library.path=/usr/java/jre/lib/i386
...
JENNIFER SysProf libjennifer20.so(sl) shared library loaded successfully.
---------------------------------------

위와 같이 “JENNIFER SysProf libjennifer20.so(sl) shared library loaded successfully.” 라는 메세지가 아닌경우 설치가이드의 트러블슈팅 부분을 참조한다.

  1. 모니터링 데이터 확인

SQL이 나오지 않을 경우 제니퍼 메뉴얼의 “리소스 및 JDBC모니터링” 부분을 참조한다.

제니퍼 에이전트 구성제거

  1. Resin을 중지한다

  1. Resin 2.1.x, 3.0.x 의 경우 시작 스크립트에서 제니퍼 에이전트 관련 옵션을 삭제한다.

  1. Resin 3.1.x 의 경우 $RESIN_HOME/conf/resin.conf 파일에서 제니퍼 에이전트 관련 옵션을 삭제한다.

  1. Resin 4.x 의 경우 $RESIN_HOME/conf/resin.xml 파일에서 제니퍼 에이전트 관련 옵션을 삭제한다.

  1. 제니퍼 네이티브 라이브러리 파일을 삭제한다.

  1. Resin을 재기동 한다.

Windows 환경

제니퍼 에이전트 설치는 사전설치(pre-installation), 사후설치(post-installation) 그리고 설치확인 작업으로 구성되어 있다.

Resin 설치 환경

아래의 표는 제니퍼 에이전트 설치에 따른 설치자 이해를 돕기 위해 제니퍼 에이전트가설치된 서버의 환경정보를 보여주고 있다. 본 설치가이드는 아래의 환경값을 기준으로 설명되며, 실제 작업시는 사용자 서버의 환경정보에 맞추어 설치작업을 진행해야 한다.

제니퍼 에이전트 구성 예

구 분

설 명

제니퍼 에이전트 홈 디렉토리

c:\jennifer\agent

자바 홈 디렉토리

C:\Program Files\Java\jdk1.6.0_15

제니퍼 서버 IP Address

192.168.0.139

사전설치(Pre-Installation) 작업

제니퍼 에이전트 디렉토리에서 preinstall.bat를 administrator 권한으로 실행한다.

JAVA_HOME 지정

Resin이 사용하는 JAVA HOME 디렉토리를 지정한다. Resin이 사용하는 JAVA HOME을 확인한 후, lwst.jdk.jar 파일을 생성하는 작업을 한다.

###################################################
Step 1. Build LWST
###################################################

Input [JAVA_HOME] which is used for Java Application Server (Enter "q" to quit):C:\Program Files\Java\jdk1.6.0_15
 C:\Program Files\Java\jdk1.6.0_15 is set as JAVA_HOME
 "Creating lwst.jdk.jar..."

 "LWST build successful"
 
  lwst.jdk.jar is created successfully

Native Library 지정

제니퍼 에이전트에서 시스템의 CPU, 메모리 정보를 수집하기 위하여 네이티브 모듈을 설치한다. 설치하는 시스템 메모리가 2 GB이상인 경우 Y, 이하인 경우 n를 선택한다.

################################################### 
Step 2. JENNIFER NATIVE LIBRARY SETTING 
################################################### 
 
Does your system have more than 2GB ?(Y/N) : y  
jennifer20.dll has been copied to C:\Program Files\Java\jdk1.6.0_15 successfully.

에이전트 설정

제니퍼 에이전트의 설정파일을 구성하는 작업을 한다. 에이전트명을 반드시 3자로 지정하여야 한다. 지정한 에이전트명으로 설정파일이 생성된다. 값을 기입하지 않고 엔터를 입력하면, 기본 값을 사용하게 된다. 생성작업을 원하지 않을 경우(‘n’을 선택한 경우) 새로운 설정파일은 생성되지 않는다. 이 경우 제니퍼가 제공하고 있는 w11.conf혹은 jennifer.conf파일을 환경에 맞춰 수정한 후 사용할 수 있다.

###################################################
Step 3. JENNIFER AGENT CONFIGURATION SETTING
###################################################

Do you want to customize agent configuration file at this time? (Y/N) : y
license_filename [ex: C:\jennifer\agent\license.txt] :
Pleaes enter AGENT name. AGENT name must be 3 characters long, first charater must be alphabet anemaining characters must be numbers e.g. [W11] : X11
logfile [ex: C:\jennifer\agent\X11.log] :
agent_tcp_port [7750] :
udp_server_host [localhost] : 192.168.0.139
server_udp_runtime_port [6901] :
server_udp_listen_port [6902] :
server_udp_lwst_call_stack_port [6703] :


Do you have any option(s) that you want to change?(Y/N)n

요약 및 설정해야 할 옵션

마지막으로 설정정보를 확인하고 Resin의 옵션 설정하는 부분에 아래의 옵션을 추가한다.

[Pre-Installation Summary]
 JAVA HOME DIRECTORY                            : C:\Program Files\Java\jdk1.6.0_15
 JENNIFER AGENT DIRECROTY                       : C:\jennifer\agent
 JENNIFER AGENT CONFIGURATION FILE              : C:\jennifer\agent\X11.conf
 JENNIFER NATIVE LIBRARY INSTALLATION DIRECTORY : C:\Program Files\Java\jdk1.6.0_15\bin\jennifer20.dll
 
[Post-Installation options]
-Xbootclasspath/p:C:\jennifer\agent\lwst.boot.jar;C:\jennifer\agent\jennifer.boot.jar;C:\jennifer\agent\lwst.jdk.jar  
-Djennifer.config=C:\jennifer\agent\X11.conf 
-javaagent:C:\jennifer\agent\lwst.javaagent.jar

사후설치(Post-Installation) 작업

사전작업을 통해 작성된 라이브러리 및 에이전트 구성파일 설정을 Resin 자바 옵션에 설정한다.

Resin 2.x/3.0.x 자바옵션 설정

기동명령어에 -Xbootclasspath/p 와 -javaagent 옵션 앞에 -J 옵션을 추가해야 한다.

-J-Xbootclasspat/p -J-javaagent

Resin이 사용하는 JDK가 1.4 이하인 경우 javaagent 옵션을 설정하지 않는다.

Resin 3.1.x 자바옵션 설정

아래와 같이 태그 안에 3개 혹은 2개의 옵션을 설정한다.

<jvm-arg>-Xbootclasspath/p:.....</jvm-arg>

<jvm-arg>-Djennifer.config=....</jvm-arg>

<jvm-arg>-javaagent:....</jvm-arg>

Resin이 사용하는 JDK가 1.4 이하인 경우 javaagent 옵션을 설정하지 않는다.

Resin 4.x 자바 옵션 설정

아래와 같이 태그 안에 3개 혹은 2개의 옵션을 설정한다.

<jvm-arg>-Xbootclasspath/p:.....</jvm-arg>

<jvm-arg>-Djennifer.config=....</jvm-arg>

<jvm-arg>-javaagent:....</jvm-arg>

Resin이 사용하는 JDK가 1.4 이하인 경우 javaagent 옵션을 설정하지 않는다.

Resin 재시작 및 확인 사항

  1. 라이센스키 등록

Resin을 재시작 하면 제니퍼 에이전트가 동작하게 되며, 아래의 내용들을 확인한다.

JENNIFER 4.5.3(2011-10-04) started.
agent_name=X11
jennifer.config=C:\jennifer\agent\X11.conf
agent_tcp_port=7751
udp_server_host=192.168.0.139
server_udp_runtime_port=6901
server_udp_listen_port=6902
server_udp_lwst_call_stack_port=6703
enable=true
license_filename=C:\jennifer\agent\license.txt :ExpireDate: 2011-06-28
logfile=c:\jennifer\agent\X11.log
LWST enabled=true
enable_jdbc_sql_trace=true
enable_jdbc_oracle_dependency_used=false
enable_extra_agent=true
...
JENNIFER SysProf libjennifer20.so(sl) shared library loaded successfully.
---------------------------------------

위와 같이 “JENNIFER SysProf libjennifer20.so(sl) shared library loaded successfully.” 라는 메세지가 아닌경우 설치가이드의 트러블슈팅 부분을 참조한다.

  1. 모니터링 데이터 확인

SQL이 나오지 않을 경우 제니퍼 메뉴얼의 “리소스 및 JDBC모니터링” 부분을 참조한다.

제니퍼 에이전트 구성제거

  1. Resin을 중지한다

  1. Resin 2.1.x, 3.0.x 의 경우 시작 스크립트에서 제니퍼 에이전트 관련 옵션을 삭제한다.

  1. Resin 3.1.x 의 경우 %RESIN_HOME$\conf\resin.conf 파일에서 제니퍼 에이전트 관련 옵션을 삭제한다.

  1. Resin 4.x 의 경우 %RESIN_HOME%\conf\resin.xml 파일에서 제니퍼 에이전트 관련 옵션을 삭제한다.

  1. 제니퍼 네이티브 라이브러리 파일을 삭제한다.

  1. Resin을 재기동 한다.