환경 구축
Pinpoint 2.3.x 버전 사용(Web, Agent, Collector).
VirtualBox의 인스턴스들을 사용하여 가상화 환경에서 테스트 진행. (NAT network와 포트 포워딩을 사용하여 각 인스턴스에 요청 분할)
- Main Server (Tomcat 위치, 자세한 내부 정보 확인용) : 2Core, 8G RAM, 20GB DISK
- Pinpoint Server (Web 및 Collector 위치) : 4Core, 8GB RAM, 40GB DISK
- 부가 Agent Server : 1Core .. 유동적 할당
구축 메뉴얼
Pinpoint Server
1. 버전에 맞는 JAVA 설치, Pinpoint collector, Web 설치 (github 참조)
2. HBase 설치 -> 스키마 생성 스크립트 설치. 기본 table setting을 만들어주는 스크립트가 존재
https://github.com/pinpoint-apm/pinpoint/blob/master/hbase/scripts/hbase-create.hbase
3. hbase 실행 및 collector, web 실행
이 과정에서 nohup 및 실행 명령어를 면밀히 확인할 것.
nohup java -jar -Dpinpoint.zookeeper.address=localhost 파일명 >/dev/null 2>&1 &
이 구문은 Java 시스템 프로퍼티 -Dpinpoint.zookeeper.address=localhost을 설정한다.
이는 Pinpoint가 ZooKeeper 서버로 localhost를 사용하도록 지시한다.
이 설정을 하지 않아 계속 Connection ERR가 떴다.
Agent Server
1. 기본 환경 구축 (Spring 등)
2. pinpoint agent 설치( config 폴더 안의 파일에서 collector ip를 설정), Agent -> Collector로 정보 전송 시 기본적으로 9991 ~ 9993 포트를 사용
3. jar을 직접 실행하지 않고 sh 코드를 통해 tomcat 구동 시 같이 실행되게 함.
Dockerfile(컨테이너 사용 시)을 사용하거나, 이번 경우처럼 tomcat 내부에 스크립트 코드를 생성할 수 있음.
4. Tomcat 내부의 catalina.sh 코드 변경하여 agent jar 파일 설정(혹은 setenv.sh 생성 후 변경(권장))
#Add Pinpoint Agent Option
CATALINA_OPTS="$CATALINA_OPTS -javaagent:경로 /pinpoint/pinpoint-agent-2.3.3/pinpoint-bootstrap-2.3.3.jar"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=myTestAPM"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=TestApplicationName"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.config=경로 /pinpoint/pinpoint-agent-2.3.3/pinpoint-root.config"
5. 요청 사항 발생 시 java agent api를 기반으로 한 pinpoint agent가 JVM의 내부 실행 바이트코드를 파싱, collector 주소로 data 전송 -> 이를 web으로 전송
기타(port)
Hbase
2181 : Client가 Zookeeper 연결에 사용하는 포트
16010 : HBase 마스터 웹 포트, localhost:16010로 HBase 웹 UI 사용 가능
9991 ~ 9993 : JVM agent가 Collector로 전송하는 포트(현재 설정상 9991)
'프로젝트 > Pinpoint, Scouter 구축(APM)' 카테고리의 다른 글
Pinpoint - Application Inspector 기능 적용 (Flink 연동) (0) | 2024.01.19 |
---|---|
pinpoint - dapper, 분산 추적에 대해 (0) | 2024.01.18 |
Pinpoint - Hbase 웹 UI 이슈 (Hbase random port issue) (0) | 2024.01.18 |
Pinpoint2 (0) | 2024.01.17 |
Pinpoint (0) | 2024.01.16 |