애플리케이션의 성능 모니터링을 위해 다양한 도구를 사용하고 있다. 이번에 도입해 본 Scouter는 LG CNS에서 개발한 APM(Application Performance Monitoring) 도구로, 애플리케이션의 성능을 실시간으로 모니터링하고, 문제를 식별하여 해결하는 데 필수적인 인사이트를 제공한다.
APM 구조
Spring Boot: 3.0.11
Java: 17
WAS EC2: t4g.small (vCPU: 2, RAM: 2GB) (AMI: Amazon Linux 2 AMI (HVM))
APM EC2: t2.micro (vCPU: 1, RAM: 1GB) (AMI: Amazon Linux 2 AMI (HVM))
# 설치
wget https://github.com/scouter-project/scouter/releases/download/v2.20.0/scouter-all-2.20.0.tar.gz
# 압축 풀기
tar -xvf scouter-all-2.20.0.tar.gz
# 이동
cd scouter/server
# collector 실행
./startup.sh
WAS EC2 구성
WAS EC2는 기존에 SpringBoot + Java로 구성되어 있는 서버가 올라가 있다.
JAVA 17 설치
sudo yum install java-17-amazon-corretto
Scouter 설치
# 설치
wget https://github.com/scouter-project/scouter/releases/download/v2.20.0/scouter-all-2.20.0.tar.gz
# 압축 풀기
tar -xvf scouter-all-2.20.0.tar.gz
# 이동
cd scouter/agent.host/conf
Scouter Host conf 수정
# conf 수정
vi scouter.conf
--- scouter.conf --------------------
### scouter host configruation sample
net_collector_ip=*****
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
------------------------------------
# net_collector_ip는 APM EC2의 프라이빗 IPv4 주소를 넣어줬고,
# 다른 것들은 기본세팅이다. (주석만 풀어줌)
Scouter Host 실행
# 이동
cd ..
# host 실행
./host.sh
Scouter Client 접속
우선 접속을 하기 위해 APM EC2에서 인바운드 규칙을 설정해야 한다. - client를 들어갈 로컬 pc ip (TCP) - WAS EC2의 프라이빗 ip (TCP, UDP) APM EC2 인바운드 규칙