[APM][제니퍼5] Jennifer 5의 아키텍처를 알아보자.
✅ 제니퍼 구성도

Agent / Data Server / View Server / Jennifer client (브라우저) 로 구성되어있다.
- Agent : 자바 어플리케이션 모듈로 설치되어 기본적인 성능 데이터를 수집하는 역할이다.
- 데이터 서버 : Agent 로부터 수집된 성능데이터를 수집/적재하는 역할이다.
- 뷰서버 : 적재된 성능데이터를 효과적으로 볼수있는 Provider 역할이다.
- 클라이언트 : 뷰 서버로부터 데이터를 받아서 보여주는 역할이다.
✅ 도메인과 인스턴스
Domain 은 하나의 연관된 성능으로 모니터링할 수 있는 다수의 인스턴스 그룹이다.
Instance는 제니퍼 에이전트가 설치되는 단위로, 실제 데이터를 수집하고, 모니터링하는 가장 기본이 되는 단위이다.
쉽게 설명해보겠다.
위 그림을 봤을 때 JAVA 쪽 Jennifer agent를 확인해보자.

OS 위 JVM /WAS/Application단에 에이전트가 붙어있다.
즉 특정 WAS /어플리케이션마다 에이전트가 있고 이것이 인스턴스라는 단위이다.
만약 어떤 어플리케이션이 2개의 이중화 WAS로 구성되어있으면
둘 다 에이전트를 추가한다. (2개의 인스턴스가 존재하는것이다)
1번 WAS로 들어오는 요청스레드는 몇개이고
2번 WAS로 들어오는 요청스레드는 몇개인지 각각 셀 수 있게 되는 것이다.
이 인스턴스가 모여있는 단위가 도메인이다.

- APM 뷰 화면에선 여러개의 도메인이 존재할 수 있다.
도메인은 의미있는 단위의 인스턴스로 구성하는것이 권장된다.
도메인당 최대 100개의 인스턴스 접속이 가능하고,
인스턴스가 목록에 등록되어있을때, 새로운 에이전트는 접속이 거부된다.
도메인ID 와 인스턴스ID는 고유한 키값이다.
유효범위 : 1~ 32767 의 정수
도메인ID : Data Server/ View Server에서 모두 참조하는 값이기 때문에 데이터서버를 운영하더라도 별개의 값으로 운영해야한다.
인스턴스 ID : 이 아이디를 변경하면 기존 데이터를 검색할 수 없다.
✅ 제니퍼5 설치 패키지 및 디렉터리 정보
제니퍼 5 패키지를 홈페이지에서 다운받을 수 있다.
제니퍼 데이터 서버와 뷰 서버는 jennifer-server-5.x.x.zip 다운 후 설치
에이전트는 jennifer-agent-java[php,net]-5.x.x.zip 다운 후 설치
각 디렉터리엔 실행파일/구성파일이 존재한다.
디렉토리 | 설명 |
agent.java | 자바버전의 에이전트 디렉토리 |
server.data | 제니퍼 데이터 서버의 디렉토리 |
server.view | 제니퍼 뷰 서버의 디렉토리 |
1. agent.java디렉터리는 WAS가 존재할 IP쪽에 설치할 디렉터리이다.
2. server.data , server.view는 제니퍼가 설치된 IP쪽에 설치할 디렉터리이다.
References
https://docs.jennifersoft.com/ko/jennifer5_installation_guide/4e1db79fb78fe945
제니퍼5 설치가이드
docs.jennifersoft.com