자세한 정리와 핵심 요약 포스팅
https://csg1353.tistory.com/168
해당 포스팅을 바탕으로 새롭게 포스팅을 작성하였다.
구조도
나의 경우는 Collector(Linux 서버1), Tomcat 설치된 별도 서버(Linux 2), 그리고 Windows Client 환경을 사용하였다.
CentOS 7 version 사용.
Server
.. 기본적인 내용 생략. 다음 공식 setup 가이드를 참조할 것.
https://github.com/scouter-project/scouter/blob/master/scouter.document/main/Setup_kr.md
설치 후 conf 파일에서 다음을 적용해주자.
# Agent Control and Service Port(Default : TCP 6100)
net_tcp_listen_port=6100
# UDP Receive Port(Default : 6100)
net_udp_listen_port=6100
# DB directory(Default : ./database)
db_dir=./database
# Log directory(Default : ./logs)
log_dir=./logs
여담으로, Client 자체에서 Conf를 수정하거나, 확인할 수도 있다. 이런 식으로.
설치후 6100 TCP / UDP 포트를 열어주면 된다. 이 과정에서 start sh script 실행 이슈가 있었다. 다음 포스팅을 참조.
https://csg1353.tistory.com/147
- 실행
/scouter/server/startup.sh
/scouter/server/startup.bat - 중지
/scouter/server/stop.sh
/scouter/server/stop.bat
Client
JDK 인식 불가 이슈
Windows 클라이언트로 실행하기 위해 해당 모듈로 다운로드(JAVA 11++ , .ini 파일에서 직접 경로 지정)
최소 java 11버전 이상을 필요로 하므로, clinet 폴더 내부의 .ini 파일을 열어 11 jdk의 정로를 지정해주자.
이클립스 설정과 동일하다.
-startup
plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.400.v20211117-0650
-data
@user.home/scouter
-vm
C:\Program Files\Java\openlogic-openjdk-11.0.21+9-windows-x64\bin\javaw.exe
-vmargs
-Xms128m
-Xmx1024m
-XX:+UseG1GC
-Dosgi.requiredJavaVersion=11
Collector 연동(Agent)
https://github.com/scouter-project/scouter/blob/master/scouter.document/main/Setup.md
Host Agent
해당 호스트(이 Agent가 설치된 운영체제 환경)에서의 메모리 사용량 등을 조회한다.
scouter/agent.host/conf/scouter.conf
설치 경로 내부의 conf 파일을 수정하고, /scouter/agent.host/host.sh을 통해 실행하자.
### scouter host configruation sample
net_collector_ip=192.168.56.1
net_collector_udp_port=6100
net_collector_tcp_port=6100
cpu_warning_pct=80
cpu_fatal_pct=85
cpu_check_period_ms=60000
cpu_fatal_history=3
cpu_alert_interval_ms=300000
disk_warning_pct=88
disk_fatal_pct=92
Java Agent
Host Agent와 별개로, java API를 사용하여 해당 자바를 사용하는(주로 Tomcat) 프로세스의 수치를 파악할 수 있다.
tomcat 내부의 catalina.sh로 들어가서 환경 변수를 추가해주자.
.. 생략
#pinpoint agent Setting
CATALINA_OPTS="$CATALINA_OPTS -javaagent:/opt/pinpoint/pinpoint-agent-2.3.3/pinpoint-bootstrap-2.3.3.jar"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=Agent240122"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=AiwacsTestServer"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.config=/opt/pinpoint/pinpoint-agent-2.3.3/pinpoint-root.config"
#Scouter Agent Setting (here)
SCOUTER_AGENT_DIR="java agent 경로"
COLLECTOR_SERVER_IP="콜렉터 서버 주소"
export JAVA_OPTS="$JAVA_OPTS -javaagent:${SCOUTER_AGENT_DIR}/scouter.agent.jar"
export JAVA_OPTS="$JAVA_OPTS -Dscouter.config=${SCOUTER_AGENT_DIR}/conf/scouter.conf"
# export JAVA_OPTS="$JAVA_OPTS -Dnet_collector_ip=${COLLECTOR_SERVER_IP}"
이 옵션은 conf 내부만 제대로 한다면 하지 않아도 되는 것 같다.
주의 : Catalina.sh 해당 커맨드 라인 위에 지정할 것(아래부분은 메인 로직임)
# ----- Execute The Requested Command -----------------------------------------
또한 agent.java의 conf 역시 주석을 해제하고 설정해줄 것.
### scouter java agent configuration sample
obj_name=scouterAgentJava
net_collector_ip=192.168.56.1
net_collector_udp_port=6100
net_collector_tcp_port=6100
hook_method_patterns=sample.mybiz.*Biz.*,sample.service.*Service.*
trace_http_client_ip_header_key=X-Forwarded-For
profile_spring_controller_method_parameter_enabled=false
hook_exception_class_patterns=my.exception.TypedException
profile_fullstack_hooked_exception_enabled=true
hook_exception_handler_method_patterns=my.AbstractAPIController.fallbackHandler,my.ApiExceptionLoggingFilter.handleNotFoundErrorResponse
hook_exception_hanlder_exclude_class_patterns=exception.BizException
이제 Tomcat 재기동시 스크립트에 따라 agent 역시 동일하게 동작할 것이다.
에러
1. 연동 안됨 문제
서버 상의 로그를 확인해보니 이런 식으로 'unknown(register) OBJECT_RESET_CACHE' 만 요청이 오는 것을 확인했다.
=> conf 주소 문제였다.
경로와 주소를 명확히 수정한 이후 해결 완료하였음!
참조
https://kingbbode.tistory.com/12?_x_tr_sch=http&_x_tr_sl=ko&_x_tr_tl=en&_x_tr_hl=ko
'프로젝트 > Pinpoint, Scouter 구축(APM)' 카테고리의 다른 글
[Pinpoint]startTimestamp must be less than endTimestamp 에러 (1) | 2024.01.24 |
---|---|
Pinpoint 구축 완료 및 Shell Script(boot, close) (1) | 2024.01.23 |
Pinpoint - flink 연동 2 (0) | 2024.01.22 |
Pinpoint - Application Inspector 기능 적용 (Flink 연동) (0) | 2024.01.19 |
pinpoint - dapper, 분산 추적에 대해 (0) | 2024.01.18 |