참고로 이 설명은 [Blog2Book 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기] 책을 읽는 독자분들이 부록으로 제공되는 Jennifer를 보다 쉽게 사용할 수 있도록 작성되었으며, 설치시 임시 라이센스는 자동으로 생성되지 않고, Jennifer 사이트에서 요청하셔야 합니다. 요청 방법은 부록 CD에 정리되어 있습니다. 

제니퍼의 설치법을 알아보겠습니다. 뭐 매뉴얼 보면서 하시면 되겠지만, 보다 간단하게 설치할 수 있도록 알려 드리겠습니다. 왜냐하면, 제니퍼 설치 설명 파일을 보면 20 페이지가 넘게, 각 서버별 설정법이 나와 있습니다. 하나 하나 따라가기가 굉장히 짜증나는 작업이죠.

제니퍼의 버전이 2.5.X 에서 최근에 3.2 버전이 바뀌었습니다. 2.5.X 대의 버전과 3.X 대 버전의 가장 큰 차이점은 데이터를 DB에 넣는다는 점과 UI를 맘대로 커스터마이징 할 수 있도록 되어 있다는 것입니다. 그런데, 제 개인적으로는 2.5.X 대의 버전이 가장 안정화 되어 있다고 생각합니다.

제니퍼를 설치하려면 적어도 두대의 서버가 있어야 합니다. 제니퍼 서버(모니터링 데이터를 처리하는 서버)와 WAS 서버(모니터링되는 서버)가 필요합니다. 먼저 제니퍼 서버를 설정하는 방법을 알아보겠습니다.

-제니퍼 DB 설정

제니퍼 설치 위치의 /derby/bin/env.sh 파일을 열어 다음의 세팅을 합니다.
JAVA_HOME=/usr/jsdk142
제니퍼 설치 위치의 /derby/start.sh 파일을 수행하면, 제니퍼 DB가 수행됩니다.

 

-제니퍼 서버 설정

제니퍼 설치 위치의 /server/bin/tomcat.sh 파일을 열어 다음의 두가지 세팅을 합니다.
JAVA_HOME=/usr/jsdk142
JENNIFER_HOME=/home/Jennifer (2.5.X 대의 버전에서는 세팅할 필요 없음)

 

위의 설정을 마치셨으면, 제니퍼 설치 위치의 /server/bin/startup.sh 파일을 수행합니다.
정상적으로 설치를 완료 했을 경우 인터넷 익스플로러를 기동하여 아래의 url을 입력하면 제니퍼 서버로그인 화면이 나타납니다.

http://제니퍼서버IP:7900/

제니퍼 서버 설정이 완료되었으므로, 이제 WAS 설정을 알아보겠습니다.

 

1. WAS 서버 설정

제니퍼의 버젼이 2.X 대 거나 3.X 대 거나, WAS 서버가 어떤 것이든지 설치법은 그리 크게 차이 나지 않습니다. WAS 서버를 기동하기 위한 설정파일에 다음의 내용이 반드시 포함되도록 합니다. 반드시 이 세팅을 할 때에는 제니퍼를 사용하지 않고 서버가 기동되는 세팅을 반드시 백업해 놓으셔야 합니다.

2. jennifer.jar설정 : 어떤 jar 파일보다 앞에 jennifer.jar 파일을 클래스 패스에 지정한다.

3. Jennifer 구성파일설정 : w11.conf (구성 파일)을 자바 커맨드의 -Djennifer.config=/ 옵션을 사용하여 위치를 지정한다.

4. lwst30.jar 및 jennifersys.jar : 자바 커멘드의 -Xbootclasspath/p: 옵션을 사용하여 이 두가지 파일의 위치를 지정한다.

5. jennifer library 모듈설정 : 서버에 맞는 so파일을 libjennifer20.so로 파일명을 변경하여 서버의 수행 디렉토리로 복사한다.

 

이러한 설정이 완료되면, WAS를 restart하면 됩니다.

이러한 세팅이 완료되면, 이제 제니퍼를 사용하는 기본 환경 설정은 완료됩니다.

마지막으로 몇가지 팁을 알려드리겠습니다.

팁1)

제니퍼 서버와 WAS 서버 사이에 통신을 해야 하기 때문에, 두 서버 사이에 방화벽이 있을 경우 다음 Port를 열어야 합니다.
클라이언트 -->  제니퍼서버 : 7900(TCP) - 관리콘솔 서비스 용,  6701(TCP) - 애플릿 소켓통신용
제니퍼에이전트 --> 제니퍼서버 : 6901(UDP) - 실시간 데이터 전송, 6902(UDP) - (1초)데이터 전송, 6703(UDP) - 트랜잭션 데이터 전송
제니퍼서버 --> 제니퍼에이전트 : 머신내 유일포트 (7750 ~ ) 각 에이전트는 제니퍼서버 요청에 대한 작업을처리하기 위해 유일한 TCP포트를 바인딩 해야 합니다.

여기서 가장 밑에 있는 7750 port는 한 장비에 여러 컨테이너가 동작할 경우 w11.conf 파일과 같은 설정 파일을 여러 개 만들어 각 컨테이너당 유일한 포트를 사용하도록 수정해야 합니다.

 

팁2) w11.conf 파일 설정 - 1
agent_name : agent의 이름을 설정하며, 영어를 포함한 3단어만 사용 해야 합니다. 반드시하나의 제니퍼 서버당 유일한 값이어야 합니다.
agent_tcp_port : 각 WAS 장비당 유일한 포트 번호여야 합니다. 컨테이너가 여러 개일 경우만 변경하면 됩니다. 여러 WAS가 같은 값을 써도 상관 없습니다.
udp_server_host : 제니퍼 서버가 기동중인 IP를 명시해줍니다.

 

팁3) w11.conf 파일 설정 – 2
만약 X-internet이나 프레임웍을 쓸 경우 모든 요청이 aaa.do 나 requestName 과 같이 하나로 보이는 경우가 있습니다. 만약 요청 파라메터의 키가 cmd와 value라는 것이 있을 경우 w11.conf 파일의 다음 설정의 주석을 해제하고 설정하면 됩니다.
url_additional_request_keys=cmd,value

 

다음에는 Jennifer의 각 기능 소개를 해 드리겠습니다.

Posted by tuning-java
,