Scouter APM 설치 및 구성하는 방법

소개

scouter 에 관련된 자세한 내용은 https://github.com/scouter-project/scouter/ 이곳을 참조 하면된다. 공식 사이트라고 할수있다.


scouter 는 제니퍼의 개발자 개발한것으로 알고있으며, 제니퍼 의 기본적인 퍼포먼스를 비슷하게 처리할수있을정도의 툴 이다.


java 환경에서 동작하는 tomcat 등의 WAS 에서 APM(Web Application Monitoring) 을 할수있도록 도와준다.

대표적인 기능들은 Xlog, Recent User, TPS, Elapsed TIme, Heap Used, Active Service EQ 등을 제공한다.

테스트 서버 Spec

CPU : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
RAM : 1G
OS : CeontOS6.6 64bit
가상화 환경.
작성자 : dslee(http://dslee1.blogspot.kr/)

설치

아래는 공식사이트 이며, 현재 자주 업데이트가 되고있는 상태다.
https://github.com/scouter-project/scouter/releases

cd /usr/local/src/

wget https://github.com/scouter-project/scouter/releases/download/v0.4.3/scouter.agent.tar.gz
wget https://github.com/scouter-project/scouter/releases/download/v0.4.3/scouter.server.tar.gz
wget https://github.com/scouter-project/scouter/releases/download/v0.4.3/scouter.client.product-linux.gtk.x86_64.tar.gz
wget https://github.com/scouter-project/scouter/releases/download/v0.4.3/scouter.client.product-win32.win32.x86.zip

scouter.agent.tar.gz , scouter.server.tar.gz 이 파일의 경우 tomcat이 설치된 서버에 다운로드 받는다.

scouter.client.product-linux.gtk.x86_64.tar.gz 파일의 경우 클라이언트 pc 에 다운받아 설치한다.(필자는 우분투를 사용하기 때문에 다운받음)

윈도우 사용자는 scouter.client.product-win32.win32.x86.zip 파일을 다운받아 설치 하면되겠다. 참고로 32비트 64비트 별도의 파일이 존재하기 때문에 자신의 환경 맞 다운 받는다.

설치에 필요한 서버 환경은 아래와 같다

  • JDK 7+ (& JAVA_HOME 환경변수 설정)
  • Windows / Linux / OS X

jdk 의 경우 oracle.com 에 접속하여 별도로 다운 받아 설치하고, JAVA_HOME 의 os 환경설정까지 모두 설정한다.(이곳에서는 jdk 및 tomcat 설치관련 내용은 소개하지 않는다)

Scouter 의 구성은 간단히 살펴보도록 한다.

Server(Collector) – Agent 가 전송한 데이터 수집/처리한다.
Host Agent – OS의 CPU, Memory, Disk등의 성능 정보 전송.(여기서는 Server로 사용되는 곳.)
Java Agent – 실시간 서비스 성능 정보, Heap Memory, Thread 등 Java 성능 정보
Client(Viewer) – 수집된 성능 정보를 확인하기 위한 Client 프로그램

—————– Agent 설치 ——-

tar xvfz scouter.server.tar.gz
tar xvfz scouter.agent.tar.gz
cd scouter/agent.java/
cp scouter.agent.jar /usr/local/tomcat/lib/
cd /usr/local/tomcat/bin/

vi scouter.conf

Scouter Server IP Address (Default : 127.0.0.1)

net_collector_ip=127.0.0.1

Scouter Server Port (Default : 6100)

net_collector_udp_port=6100
net_collector_tcp_port=6100

Scouter Name(Default : tomcat1)

obj_name=tomcat
trace_interservice_enabled=true

vi catalina.sh

JAVA_HOME=”/usr/local/java/”

CATALINA_BASE=”/usr/local/tomcat”
CATALINA_OPTS=”$CATALINA_OPTS -javaagent:$CATALINA_BASE/lib/scouter.agent.jar”
JAVA_OPTS=”$JAVA_OPTS -Dscouter.config=/usr/local/tomcat/bin/scouter.conf”

—————— Agent 설치 완료 ——-

————- Server 설치 ———

cd /usr/local/src/scouter/
cp -R server /usr/local/src/
cd agent.host
cp -R ./* /usr/local/server/
덮어쓴다.
cd /usr/local/server/
chmod 700 startup.sh stop.sh host.sh
nohup ./startup.sh &
nohup ./host.sh &

tail -f nohup.out
_ _ / | _ | | _ _
___ \ / / | | | | / _ \ ‘| ) | (| (+) | || | || / |
|
/ _____/ __,|____|_|
Open Source S/W Performance Monitoring
Scouter version 0.4.2 20160104

System JRE version : 1.7.0_75

netstat -nlp | grep 6100
tcp 0 0 0.0.0.0:6100 0.0.0.0:* LISTEN 27995/java
udp 0 0 0.0.0.0:6100 0.0.0.0:* 27995/java

————- Server 설치 완료 ———

———— Client 설치 ——

tar xvfz scouter.client.product-linux.gtk.x86_64.tar.gz
./scouter

Server Adress : 자신의 서버 IP
ID : admin
pW : admin

윈도우의 경우 압축풀고 실행하면 문제없이 실행된다.(실행안된다면 os 환경설정에서 java path 를 확인해보면 됨)
———– Client 설치 완료 —–

모니터링 테스트

이렇게 설치를 완료한 Scouter 가 어떠한 모습을 보여주는지 한번 확인해보도록 한다.

Scouter APM 설치 및 구성하는 방법

아래 그림은 ab 성능 테스트를 통해서 tomcat 이 설치된 서버에 부하를 상승하도록 해봤다.

Xlog 파일을 통한 세부적인 서비스 분석이 가능하며, TPS, 현재 시스템 heap 사용량 등 세부적으로 실시간 모니터링이 가능하다.

이외에도 세부적인 서비스 연계추적, Thread Stack의 통계 분석을 통한 부하 코드 식별, Database Connection Leak 추적, Plugin scripting을 통한 프로파일 커스터마이징 방법 – 사용자 ID 추가, method 레벨로 상세 프로파일 하는 방법, WEB Servlet이 아닌 Java Deamon 프로그램 모니터링 방법 등이 가능하다.

Leave a Comment