🔎 Scouter APM 개념 총정리
1️⃣ Scouter란 무엇인가?
Scouter = 오픈소스 APM(Application Performance Monitoring)
👉 서버와 애플리케이션의 성능·상태·병목을 실시간으로 수집/분석하는 도구
2️⃣ 왜 Scouter가 필요한가?
❌ APM 없을 때
- CPU 낮은데 서비스 느림
- 사용자 “느리다”는 말만 있음
- 로그 뒤지고, 재현 안 되고, 감으로 판단
✅ Scouter 있을 때
- 어느 API가 느린지
- DB 쿼리가 몇 ms인지
- 어느 서버에서 GC가 터졌는지
- 특정 시간대에만 느린 이유
👉 감 → 데이터 기반 판단으로 전환
Scouter 서버 설치 가이드
1️⃣ 먼저 아래 github 경로에서 최신 Release Version 설치
1. scouter-all-X.X.X.tar.gz (서버용)
2. scouter.client (모니터링용)
https://github.com/scouter-project/scouter/releases/
Releases · scouter-project/scouter
Scouter is an open source APM (Application Performance Management) tool. - scouter-project/scouter
github.com
2️⃣ Scouter 서버 세팅 및 실행, 주의점, 에러
스카우터 서버 는 scouter-all-X.X.X.tar.gz 내 폴더 server
가장 중요한 것!!
Scouter 서버는 Java 8 필수(JDK 8)
java -version
만약 설치할 서버의 자바버전이 8이 아닌 JDK11/JDK17과 같은 버전에서는 아래와 같은 에러가 발생됩니다.
java.security.PrivilegedActionException: java.lang.NoSuchMethodException
OpenJDK8 - OpenJDK 8u342 GA Release은 해당 경로에서 설치하였습니다.
또 하나의 주의사항!!
리눅스인 경우, 아래 서버 아키텍쳐를 점검해서 받을 것
uname -m| 서버 | 결과의미 |
| x86_64 | 일반 인텔/AMD 서버 |
| aarch64 | ARM 서버 (Graviton, 국산 서버 다수) |
서버 scouter.conf 기본 설정
net_collector_ip는 Scouter 서버가 “어디 IP로 수집 요청을 받을지”를 정하는 값입니다.
0.0.0.0 으로 설정 시 모든 망에서 접속이 가능합니다.
특정 IP로 들어오는 요청만 수신 받고 싶은 경우, 해당 IP를 넣어주면 됩니다.
net_collector_ip=0.0.0.0
net_collector_udp_port=6100
net_collector_tcp_port=6100
서버 시작 / 종료 는 아래 서버 내에서 명령어를 실행합니다.
-- 실행
./startup.sh
-- 종료
./stop.sh
단, 사전에 chmod -R 777 로 권한이 빠진 게 있으면 호출이 안될 수 있으니 부여해줍니다.
서버 정상 유무는 아래 명령어를 통해 확인 가능합니다.
ps -ef | grep scouter
만약 서버의 기본 JDK가 8버전이 아닌 다른 버전이고 이걸 공유하는 게 많아 기본 JDK를 수정하기 힘들다고 할 시,
startup.sh 에서 JAVA_PAHT를 임의로 변경해주면 됩니다.
- export JAVA_HOME
- export PATH
3️⃣ Scouter의 전체 구조 (개념도)
[ User ]
↓
[ WAS / Server ]
↑ ↑
Java Agent Host Agent
\ /
→ Scouter Server →
↑
Scouter Client
4️⃣ Scouter Agent 세팅방법
수집 대상 WAS(JAVA)에 설치하는 방법입니다.
WAS는 Java 기반이면 모두 가능합니다. - Jeus, Tomcat, Weblogic
아래는 대표적으로 우리나라에서 많이 쓰이는 상용 JEUS와 오픈 소스 톰캣 설정 예시입니다.
우선 앞서, GitHub Release에서 받은 Scouter 압축 안에 포함된 agent.java를 사용합니다.
/scouter/agent/conf/scouter.conf 파일을 먼저 설정합니다.
WAS 식별 이름과 스카우터 서버의 IP 정보를 넣어줍니다.
이 식별자는 WAS가 여러 개인 경우 중복되지 않게 넣습니다.
# Scouter Server 정보
net_collector_ip=스카우터서버IP
net_collector_tcp_port=6100
net_collector_udp_port=6100
# WAS 식별 이름 (중요)
obj_name=was01
# 서비스 그룹 (선택)
obj_type=tomcat
[Jeus]
WebAdmin Console 화면에서 Server > Jvm Config
아래 javaagent 설정을 넣어줍니다.
-javaagent:/"스카우터 agent 설치경로"/scouter.agent.jar -Dscouter.config=/"스카우터conf경로"/scouter.conf -Dobj_name="object 명칭"
[Tomcat]
setenv.sh 옵션을 설정해서 javaagent 설정을 해줍니다.
SCOUTER_AGENT_DIR=/opt/scouter/agent
JAVA_OPTS="$JAVA_OPTS \
-javaagent:$SCOUTER_AGENT_DIR/scouter.agent.jar \
-Dscouter.config=$SCOUTER_AGENT_DIR/conf/scouter.conf"Scouter의 강점
👍 장점
- 오픈소스 (비용 0)
- 실시간성 뛰어남
- Java 추적 깊음
- 서버 부담 적음
⚠️ 한계
- UI 투박
- 설정이 수동적
- 클라우드 네이티브는 약함
오픈소스 APM 스카우터 한눈에 요약하기

'프로그래밍' 카테고리의 다른 글
| [DB] SQL Server(MS-SQL) 운영 - DBCC 명령어 정리 (0) | 2026.01.27 |
|---|---|
| 인프런 서바이벌 챌린지 완벽 분석! - 공부하면서 돈벌기 (0) | 2026.01.21 |
| [Python] 프로그래머스 큰 수 만들기 (0) | 2025.12.31 |
| 🐍 파이썬 코딩테스트 입문 문법 정리 (초보자용) (0) | 2025.12.15 |
| 🏷 아파치(Apache)와 톰캣(Tomcat)의 차이, 구성 방식 (0) | 2025.12.10 |
