UNIX 환경
제니퍼 에이전트 설치는 사전설치(pre-installation), 사후설치(post-installation) 그리고 설치확인 작업으로 구성되어 있다.
GlassFish 설치 환경
아래의 표는 제니퍼 에이전트 설치에 따른 설치자 이해를 돕기 위해 제니퍼 에이전트가 설치된 서버의 환경정보를 보여주고 있다. 제니퍼 에이전트 디렉토리 하위 파일 및 디렉토리를 GlassFish가 운영중인 서버의 디렉토리로 복사한다. 본 설치가이드는 아래의 환경값을 기준으로 설명되며, 실제 작업시는 사용자 서버의 환경정보에 맞추어 설치작업을 진행해야 한다
구 분 | 설정 환경 |
---|---|
제니퍼 에이전트 홈 디렉토리 | /home/jennifer/agent |
자바 홈 디렉토리 | /usr/java |
제니퍼 서버 IP Address | 192.168.0.139 |
사전설치(Pre-Installation) 작업
제니퍼 에이전트 디렉토리에서 preinstall.sh 을 실행한다.
JAVA_HOME 지정
GlassFish가 사용하는 JAVA_HOME 디렉토리를 지정한다. GlassFish가 사용하는 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를 지정한다. |
요약 및 설정해야할 옵션
마지막으로 설정정보를 확인하고 GlassFish의 옵션 설정하는 부분에 아래의 옵션을 추가한다.
[ 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) 작업
사전설치 작업을 통해 작성된 라이브러리 및 에이전트 구성파일 경로를 GlassFish 자바옵션에 설정하는 작업을 한다.
JNI 파일 복사
JNI테스트가 완료된 /home/jennifer/agent/libjennifer20.so(sl) 파일을 GlassFish에서 사용하는 JDK의 sun.boot.library.path 위치에 복사한다.
GlassFish 자바옵션 설정
GlassFish 관리콘솔에서 [ Application Server | JVM Setting | JVM Setting | JVM Options ] 메뉴를 선택한다.
GlassFish 의 관리콘솔에서 설치가이드 1.2.4 요약 및 설정해야 할 옵션에 출력된 옵션을 설정한다.
GlassFish이 사용하는 JDK가 1.4 이하인 경우 javaagent 옵션을 설정하지 않는다.
GlassFish 3의 경우 $GLASSFISH_HOME/osgi/felix/conf에 아래와 같이 추가로 제니퍼 에이전트 라이브러리를 기술한다.
org.osgi.framework.bootdelegation=javax.transaction, javax.transaction.*, \ org.omg.CORBA, \ ${eclipselink.bootdelegation}, \ com.sun.btrace, com.sun.btrace.*, \ com.javaservice, com.javaservice.*, \ org.netbeans.lib.profiler, org.netbeans.lib.profiler.*
GlassFish 재시작 및 확인 사항
라이센스키 등록
GlassFish를 재시작 하면 제니퍼 에이전트가 동작하게 되며, 아래의 내용들을 확인한다.
제니퍼 에이전트 로그가 지정한 파일에 생성되었는지 확인하고, 로그파일에 아래와 같이 에이전트가 시작되었다는 메세지가 있는지 확인한다.
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.” 라는 메세지가 아닌경우 설치가이드의 트러블슈팅 부분을 참조한다.
[구성관리 | 라이센스키 관리] 매뉴에서 발급받은 라이센스 키를 등록한다.
모니터링 데이터 확인
사용자가 서비스 요청를 했을 경우, X-View 에 점들이 생성되는지 확인한다.
X-View 의 점들을 선택했을때 메소드 및 SQL 정보들이 정상적으로 나오는지 확인한다.
SQL이 나오지 않을 경우 제니퍼 메뉴얼의 “리소스 및 JDBC모니터링” 부분을 참조한다.
[ 장애진단 | 유틸리티 | 로딩 클래스 목록] 에 로딩된 클래스들이 정상적으로 나오는지 확인한다.
제니퍼 에이전트 구성제거
GlassFish 관리콘솔에서 [ Application Server | JVM Setting | JVM Setting | JVM Options ] 제니퍼 에이전트 설정 옵션을 제거하고, 설정값을 저장한다.
GlassFish 3의 경우 ($GLASSFISH_HOME/osgi/felix/conf) 제니퍼에이전트 관련 모듈 설정을 제거한다.
GlassFish을 중지한다
제니퍼 네이티브 라이브러리 파일을 삭제한다.
GlassFish을 재기동 한다.
Windows 환경
제니퍼 에이전트 설치는 사전설치(pre-installation), 사후설치(post-installation) 그리고 설치확인 작업으로 구성되어 있다.
GlassFish 설치 환경
아래의 표는 제니퍼 에이전트 설치에 따른 설치자 이해를 돕기 위해 제니퍼 에이전트가설치된 서버의 환경정보를 보여주고 있다. 본 설치가이드는 아래의 환경값을 기준으로 설명되며, 실제 작업시는 사용자 서버의 환경정보에 맞추어 설치작업을 진행해야 한다.
구 분 | 설 명 |
---|---|
제니퍼 에이전트 홈 디렉토리 | c:\jennifer\agent |
자바 홈 디렉토리 | C:\Program Files\Java\jdk1.6.0_15 |
제니퍼 서버 IP Address | 192.168.0.139 |
사전설치(Pre-Installation) 작업
제니퍼 에이전트 디렉토리에서 preinstall.bat를 administrator 권한으로 실행한다.
JAVA_HOME 지정
GlassFish가 사용하는 JAVA HOME 디렉토리를 지정한다. GlassFish가 사용하는 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
요약 및 설정해야 할 옵션
마지막으로 설정정보를 확인하고 GlassFish의 옵션 설정하는 부분에 아래의 옵션을 추가한다.
[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) 작업
사전작업을 통해 작성된 라이브러리 및 에이전트 구성파일 설정을 GlassFish 자바 옵션에 설정한다.
GlassFish 자바 옵션 설정
GlassFish 관리 콘솔에서 [ Application Server | JVM Setting | JVM Options ] 메뉴를 선택한다.
GlassFish의 관리콘솔에서 에 설치가이드 2.2.4 요약 및 설정해야 할 옵션에 출력된 옵션을 설정한다.
GlassFish이 사용하는 JDK가 1.4 이하인 경우 javaagent 옵션을 설정하지 않는다.
GlassFish 3의 경우 %GLASSFISH_HOME%\osgi\felix\conf에 아래와 같이 추가로 제니퍼 에이전트 라이브러리를 기술한다.
org.osgi.framework.bootdelegation=javax.transaction, javax.transaction.*, \ org.omg.CORBA, \ ${eclipselink.bootdelegation}, \ com.sun.btrace, com.sun.btrace.*, \ com.javaservice, com.javaservice.*, \ org.netbeans.lib.profiler, org.netbeans.lib.profiler.*
GlassFish 재시작 및 확인 사항
라이센스키 등록
GlassFish를 재시작 하면 제니퍼 에이전트가 동작하게 되며, 아래의 내용들을 확인한다.
제니퍼 에이전트 로그가 지정한 파일에 생성되었는지 확인하고, 로그파일에 아래와 같이 에이전트가 시작되었다는 메세지가 있는지 확인한다.
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.” 라는 메세지가 아닌경우 설치가이드의 트러블슈팅 부분을 참조한다.
[구성관리 | 라이센스키 관리] 매뉴에서 발급받은 라이센스 키를 등록한다.
모니터링 데이터 확인
사용자가 서비스 요청를 했을 경우, X-View 에 점들이 생성되는지 확인한다.
X-View 의 점들을 선택했을때 메소드 및 SQL 정보들이 정상적으로 나오는지 확인한다.
SQL이 나오지 않을 경우 제니퍼 메뉴얼의 “리소스 및 JDBC모니터링” 부분을 참조한다.
[ 장애진단 | 유틸리티 | 로딩 클래스 목록] 에 로딩된 클래스들이 정상적으로 나오는지 확인한다.
제니퍼 에이전트 구성제거
GlassFish 관리 콘솔에서 [ Application Server | JVM Setting | JVM Options ]메뉴에서 제니퍼 에이전트 설정을 제거하고 저장한다.
GlassFish 3의 경우 (%GLASSFISH_HOME%\osgi\felix\conf) 제니퍼에이전트 관련 모듈 설정을 제거한다.
GlassFish을 중지한다
제니퍼 네이티브 라이브러리 파일을 삭제한다.
GlassFish을 재기동 한다.