Scouter 설정 및 사용 방법


APM 이란?

Application Performance Management의 약자로 어플리케이션 성능을 모니터링할 수 있는 툴이다.


Scouter란?

Scouter는 LG CNS에서 개발한 오픈소스 APM이다.

간단한 설치가 가능하고 다양한 모니터링을 제공하여 누구나 쉽게 사용할 수 있는 모니터링 툴이다.

main-img

Module Description
Server Agent가 전송한 데이터를 수집한다.
Host Agent 단독으로 실행되며 OS의 성능 정보(CPU, Memory등)를 전송한다.
Java Agent Java Application에 포함된 채로 실행되며 실시간 서비스 성능 정보, Java 성능 정보(Heap Memory, GC, Thread 등)를 전송한다.
Client 수집된 성능 정보를 Viewer를 통해 그래프로 보여준다.

Scouter 설치 방법


1. Scouter 다운로드

>> Scouter Download(Click Here)

해당 주소에 접속하여 release 파일을 다운로드한다.(버전은 all, min 둘중에 아무거나 설치해도 된다.)

Scouter는 Server(Collector)로 둘 서버와 Java Application을 두는 서버에 모두 다운로드한다.

tar -xvf scouter-min-2.17.1.tar.gz

tar 명령어를 통해 압축을 해제하면 다음과 같은 디렉토리를 볼 수 있다.

server
agent.java
agent.host


2. Server(Collector) 실행

Server(Collector)를 띄우기 위해선 server/startup.sh로 실행한다.(종료는 server/stop.sh를 실행하면 종료된다.)

명령어를 실행하면 netstat -lntp | grep 6100으로 서버가 LISTEN되고 있는 것을 확인할 수 있다.

서버의 정보를 conf 파일을 통해 커스터마이징 할 수있다.

server/conf/scouter.conf파일을 수정하면 커스터마이징 할 수 있다.

# Agent Control and Service Port
net_tcp_listen_port=6100

# UDP Receive Port
net_udp_listen_port=6100

# DB directory
db_dir=./database

# Log directory
log_dir_./logs
#server ID
server_id=DEV-ScouterService

해당 파일을 통해 Port 및 각종 디렉토리 정보, 데이터 저장관려 정보 등 설정 정보를 변경할 수 있다.


3. Host Agent 실행

Host Agent를 실행하기 앞서 Server(Collector)에 대한 정보를 설정해야한다.

agent.host/conf/scouter.conf파일을 설정해야한다.

기본 Port 값이 6100이므로, Server(Collector) 설치시 Port 정보를 변경하지 않았다면 Port 설정은 하지 않아도 된다.

만약 위의 Port 값을 수정하였다면 해당 Port값을 입력하면 된다.

# scouter host configruation

net_collector_ip=192.168.XXX.XXX
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

설정 이후 agent.host/host.sh로 Host Agent를 실행한다.(종료는 agent.host/stop.sh를 실행하면 종료된다.)


4. Java Agent 설정

Java Agent 및 Java Application 실행에 앞서 Host Agent와 마찬가지로 Server(Collector)에 대한 정보를 설정해야한다.

# scouter java agent configuration

obj_name=MyApplication
net_collector_ip=192.168.XXX.XXX
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
#hook_exception_hanlder_exclude_class_patterns=exception.BizException

obj_name에 해당 Java Application의 이름을 부여한다.


5. Java Application 실행

현재 jboss를 설치하였기 때문에 해당 실행 스크립트에 옵션을 추가한다.

##Scouter Config##
JAVA_OPTS=" ${JAVA_OPTS} -javaagent:${SCOUTER_AGENT_DIR}/scouter.agent.jar"
JAVA_OPTS=" ${JAVA_OPTS} -Dscouter.config=${SCOUTER_AGENT_DIR}/conf/scouter.conf"
JAVA_OPTS=" ${JAVA_OPTS} -Djboss.modules.system.pkg=org.jboss.byteman,scouter"

이제 jboss를 실행하여 Java Application을 실행하면 MyApplication이란 이름으로 Server(Collector)에게 수집 정보를 전달한다.


6. Scouter Client 실행

Scouter Client를 실행하기 위해선 다운로드 주소로 들어가 scouter.client 압축파일을 OS에 맞게 다운로드 받는다.

client를 다운 받은 후 scouter.exe파일을 실행하면 주소, 아이디, 비밀번호를 입력하는 창이나온다.

주소에는 192.168.XXX.XXX:6100

아이디/비밀번호는 admin/admin 으로 입력하면 접속이 가능해진다.

접속하면 다음과 같이 viewer를 통해 그래프형태로 수집된 데이터를 확인할 수 있다.

client-img