Scouter 는 LG CNS 에서 개발한 오픈소스 APM 이다.
https://github.com/scouter-project/scouter
https://github.com/scouter-project/scouter/releases
위 링크로 가서 scouter-all 과 scouter.client 를 운영체제에 맞는 버전으로 다운로드를 한다.
MAC M1 Pro 기준
압축해제 후 원하는 위치에 파일을 위치시킨다.
Scouter 폴더에는 모니터링을 위한 agent 들이 들어있다.
Java Agent 는 자바 웹 애플리케이션을 모니터링하고 Host 에이전트는 컴퓨팅 리소스를 모니터링 한다.
Java Agent : Web application (on Tomcat, JBoss, Resin ...), Standalone java application
Host Agent : Linux, Windows, Unix
scouter.server 폴더로 이동
✔️ scouter server 실행시 scouter 2.20.0 version 기준으로 java 8 로 실행
startup.sh 파일을 항상 java 8 기준으로 실행할 수 있도록 수정해준다.
{ java bin path } 에 자바 bin 디렉토리 경로를 넣어준다.
startup.sh 스크립트 실행
✔️ scouter.client.app은 실행시 scouter 2.20.0 version 기준으로 java 17 로 실행
설치한 scouter.client.app 실행
초기 ID, Password
ID : admin
Password : admin
scouter.client.app 실행 화면
예제 프로젝트 다운로드
https://github.com/spring-projects/spring-petclinic
프로젝트를 jar 패키징한다.
git clone https://github.com/spring-projects/spring-petclinic.git
cd spring-petclinic
./mvnw package
Spring boot 는 내장 톰켓을 사용해 jar 파일 실행시 하기 설정을 넣어서 실행한다.
java -javaagent:{path}/scouter/agent.java/scouter.agent.jar \
-Dscouter.config={path}/scouter/agent.java/conf/scouter.conf \
-Dobj_name=dongaribang-dev \
-jar 실행파일.jar
실행한 프로젝트에 요청을 줘서 트래픽을 발생시킨다.
사진과 같이 scouter.client.app 에 프로파일링 성공 🎉