J2EE 에이전트 설치
□ | 설치 요구사항 |
◆ | Elevisor for J2EE Agent |
항목 |
내용 |
JDK |
Sun, IBM, HP, BEA JRockit 등 대부분의 JVM 지원 ( 지원 버전 : 1.3, 1.4, 1.5, 1.6, 1.7) |
WAS |
WebLogic, Jeus, WebSphere, iPlanet, Oracle Application Server, JRun, Tomcat, Jboss |
□ | Elevisor for J2EE 에이전트 설치 |
v 설치 파일 압축 해제
elevisor_j2ee_agent.zip 설치 파일을 WAS 서버에 Upload 후 압축을 푼다 WAS에 Plug-in되어 작동되므로 WAS 계정으로 설치 한다.
ex) /home/elevisor 에 설치할 경우 $/home>unzip elevisor_j2ee_agnet.zip |
v Agent Config 파일 생성
Agent 설치 경로에 Sample config 파일을 설치 대상 인스턴스 개수대로 copy한 후 설정한다.
- agent naming rule
agent name은 반드시 영문 4자로 설정해야 하며, agent name과 동일하게 config 파일을 설정하는 것이 좋다.
또한 로드 발란스 및 클러스터링이 되어 있을 경우 "대표이름 2자리 + 서버구분1자리 + 인스턴스구분 1자리"
로 naming 하는 것이 좋다.
ex) 홈페이지 WAS서버가 2대, 각 서버에 컨테이너가 2개씩 구성되어 있는 경우
WAS 1번 : HO11, HO12
WAS 2번 : HO21, HO22
- Sample config 파일 copy( 인스턴스명을 HO11와 HO12로 설정하는 경우 )
$/home>cd elevisor/agent/config
$/home/elevisor/agent/config>cp EFJ.conf HO11.conf
$/home/elevisor/agent/config>cp EFJ.conf HO12.conf
v Agent Config 설정
생성된 Agent 파일을 편집기로 열어 항목을 설정한다.
($/home/elevisor/agent/config>vi HO11.conf )
- Elevisor 서버 정보 설정
server_info.ip=192.168.0.100 -> Elevisor 서버 IP
server_info.udp.port.common=7701 -> Elevisor 서버에서 설정한 j2ee.udp.port.common 와 동일하게 설정
server_info.udp.port.trace=7702 -> Elevisor 서버에서 설정한 j2ee.udp.port.trace 와 동일하게 설정
- Agent 정보 설정
agent_info.name=HO11 -> Agent Name
agent_info.port=7701
agent_info.ip=192.168.0.1 -> Agent Server IP
* 서버의 요청처리를 위한 Agent Listen Port로 Agent 별로 다르게 설정 해야 한다.
ex) HO11 -> 7701, HO12 -> 7702
- Agent 라이선스 설정
agent.license=TPEA-T6NJ-T6EX-E7N8-T6NJ-EEET6EX
* 라이선스가 Invalid 하면 Lite 버전으로 동작한다.
※ 보다 자세한 Agent 환경 설정은 본 메뉴얼 "운영관리->에이전트 관리" 참조
v JDK 패치 작업
JDK 패치하는 스크립트는 JDK 버전별로 다르므로 WAS가 사용하는 JDK 버전을 확인하여 수행하여야 한다.
- JDK 1.3, JDK 1.4 : patchjdk134.sh or patchjdk134.cmd
- JDK 1.5이상 : patchjdk156.sh or patchjdk156.cmd
JDK 버전에 해당하는 스크립트를 편집기로 열어 JAVA_HOME을 WAS가 사용하는 JAVA_HOME과 동일하게
수정한후 실행하면 아래와 같이 JDK 패치 작업이 진행되며 patch 파일이 생성된다
또한 JAVA Option에 설정하는 ELEVISOR Option 이 자동으로 생성되어 WAS 타입별로 표시되므로 해당되는 타입을 Copy하여
JAVA Option에 추가한다.( elevisor_config 설정은 Agent 설정 파일로 수정 필요 )
- WebLogic Type : Java Option을 XML에 설정하는 경우
ELEVISOR_OPT=-Xbootclasspath/p:D:\project\J2EE\agent\elevisor_jdk_SUN_1.5.0_14.jar;D:\project\J2EE\agent\elevisor_agent_jdk156.jar -javaagent:D:\project\J2EE\agent\elevisor_javaagent.jar -Delevisor_home=D:\project\J2EE\agent -Delevisor_config=EFJ.conf
- JEUS Type : Java Option을 WAS 기동 쉘에 설정하는 경우
-Xbootclasspath/p:D:\project\J2EE\agent\elevisor_jdk_SUN_1.5.0_14.jar;D:\project\J2EE\agent\elevisor_agent_jdk156.jar
-javaagent:D:\project\J2EE\agent\elevisor_javaagent.jar
-Delevisor_home=D:\project\J2EE\agent
-Delevisor_config=EFJ.conf
- JDK 1.3, 1.4
- JDK 1.5 or higher
v Elevisor Agent support JAR 파일(elevisor_agent_supportx.jar) 설정
Elevisor 에이전트에서 JDBC 성능정보를 추출하기 위한 JAR로서 기본적으로 JDBC 드라이버가 존재(또는 설정)하는 위치에 복사 또는 설정한다.
ex) WAS 버전 확인 방법
WAS 인스턴스가 기동 되어 있을 경우 아래와 같이 WAS 프로세스를 확인 후 JDK 버전을 확인 할수 있다.
WAS에서 사용하는 JDK 버전에 따라 아래 Elevisor Agent support(버전) JAR 파일 복사 한다.
- JDK 1.3 ~ 1.5 : elevisor_agent_support345.jar
- JDK 1.6 : elevisor_agent_support6.jar
- JDK 1.7이상 : elevisor_agent_support7.jar
- CLASSPATH에 설정하는 경우
Weblogic의 경우 기동 스크립트의 CLASSPATH에 추가 설정
ex) startManagedWeblogic.sh , jdk 1.5 일경우
ELEVISOR_HOME="/weblogic/elevisor/agent"
CLASSPATH="$CLASSPATH:$ELEVISOR_HOME/elevisor_agent_support345.jar"
- WAS 엔진의 Lib 디렉터리에 복사
JEUS 4.x, 5.x ,6.x cp elevisor_agent_support345.jar $JEUS_HOME/lib/system or $JEUS_HOME/lib/application
JEUS 7.x cp elevisor_agent_support345.jar $JEUS_HOME/lib/system or $JEUS_HOME/domains/$DOMAIN_NAME/lib/application
->DOMAIN_Name이 jeus_domain 인우 $JEUS_HOME/domains/jeus_domain/lib/application 복사
OracleAS 10gR3 cp elevisor_agent_support345.jar $OAS_HOME/j2ee/home/lib
Tomcat 4.x , 5.x cp elevisor_agent_support.345jar $TOMCAT_HOME/common/lib
Tomcat 6.x cp elevisor_agent_support.345jar $TOMCAT_HOME/lib
Resin 2.x,3.x/3.x/4.x cp elevisor_agent_support345.jar $RESIN_HOME/lib
Jboss 3.x cp elevisor_agent_support345.jar $JBOSS_HOME/server/default/deploy/jbossweb-tomcat50.sar
Jboss 4.x cp elevisor_agent_support345.jar $JBOSS_HOME/server/default/lib
Sun AppServer 7.x,8.x,9.x cp elevisor_agent_support345.jar $SUNAPP_HOME/lib
* 정상적으로 설정되었을 경우 Elevisor Agent 로그에 아래와 같이 "Hooking Success" 메시지가 로깅됨.
[YYYY-MM-DD,HH:MM:SS] [Info] Elevisor ConnectionTrace Hooking Success [YYYY-MM-DD,HH:MM:SS] [Info] JDBC Connection Wrapper Hooking Success |
* 설정에 문제가 있는경우 Elevisor Agent 로그에 아래와 같이 "Hooking Fail" 메시지가 로깅됨.
[YYYY-MM-DD,HH:MM:SS] [Info] JDBC Connection Wrapper Hooking Fail : com/elevizer/j2ee/agent/jdbc/ConnectionTrace |
* JDBC Driver가 로딩되는 클래스 로더에서 elevisor_agent_support.파일을 load하지 못할 경우
"Hooking Fail" 오류가 발생하며 JDBC 정보가 Trace 되지 않는다. 이경우 JDBC Driver 설정 위치에 설정하면 된다.
v WAS별 Agent JVM 옵션 설정
WAS 종류 |
설정방법 |
Weblogic |
Weblogic 기동쉘의 JAVA_OPTION에 Elevisor 옵션을 추가한다. |
JEUS 4.x,5.x,6.x,7.x |
$JEUS_HOME/config/$HOSTNAME/JEUSMain.xml 의 "<command-option>" 에 Elevisor 옵션을 추가한다. |
Tomcat |
Tomcat 기동쉘(catalina.sh or tomcat.sh)의 JAVA_OPTION에 Elevisor옵션을 추가한다. |
Oracle Application Server |
$OAS_HOME/opmn/conf/opmn.xml 의 "data-option"에 Elevisor 옵션을 추가한다. |
Resin |
- 3.1.x resin.conf 파일의 "<jvm-arg>" 에 Elevisor 옵션을 추가한다. - 2.x/3.0.x $RESIN_HOME/bin/httpd.sh 에 Elevisor 옵션을 추가한다. |
WebSphere |
관리콘솔> 애플리케이션 서버 선택> 프로세스 정의 > 자바가상시스템 메뉴를 선택한다. - 부트클래스 경로에 Elevisor agent와 jdk 패치 파일 경로를 입력한다. 예) /home/elevisor/agent/elevisor_agent.jar /home/elevisor/agent/elevisor_jdk_SUN_1.5.0_14.jar - 일반 JVM 인수에 elevisor Home 및 config 파일명을 입력한다. -Delevisor_home=/home/elevisor/agent -Delevisor_config=EFJ1.conf |
JBoss |
JBoss 기동쉘(run.sh)의 JAVA_OPTION에 Elevisor 옵션을 추가한다. "jboss.modules.system.pkgs" 옵션에 "com.elevizer"를 추가한다. ex) -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS,com.elevizer |
□ | Elevisor for J2EE 에이전트 기동/종료 |
v 기동/종료
Elevisor for J2EE Agent는 WAS에 Plug-in되어 작동되므로 WAS 기동시 기동되고, 종료시 자동으로 종료된다.