Setting

Scouter를 이용한 모니터링

SHXL2 2023. 1. 2. 22:16
반응형

오픈 소스 중 하나인 Scouter를 이용한 모니터링 방법을 정리해봤습니다.

※ 테스트 환경
  • Scouter 2.6.0
  • AWS EC2 - Linux
  • jdk 1.8
  • Tomcat9
  • Spring Boot

설정에 들어가기 앞서 Scouter의 모니터링 방식은 다음과 같습니다.

1. 모니터링하고자 하는 서버에 Collector라는 서버를 설정합니다.

2. 각 성능 정보를 Scouter Agent를 통해 Collector 서버에 전달합니다.

3. 사용자는 Scouter Client 프로그램을 통해 Collector 서버에 수집된 데이터를 모니터링합니다.

 

Scouter Agent에는 아래에 과정을 진행하다보면 알겠지만 agent.batch, agent.host, agent.java가 있습니다.

agent.batch : 배치 모니터링 기능을 제공합니다.

agent.host : OS의 성능 정보(CPU, Memory, disk 사용량 등)를 수집합니다.

agent.java : WAS의 성능 정보(Heap Memory, Thread 등)를 수집합니다.

 

1) 스카우터 설치

*작업 폴더는 /home으로 지정

cd /home
wget https://github.com/scouter-project/scouter/releases/download/v2.6.0/scouter-all-2.6.0.tar.gz

tar xvzf scouter-all-2.6.0.tar.gz

 

 (JDK 버전에 따라 호환되는 파일이 다르니 여기서 각 버전들을 확인하시길 바랍니다)

 

2) Host Agent 설정

cd /couter/agent.host/conf

vim scouter.conf
net_collector_ip=127.0.0.1
net_collector_udp_port=6100
net_collector_tcp_port=6100
  • net_collector_ip : Collector 서버의 IP를 입력합니다.
  • net_collector_udp_port : Collector 서버에 연결할 udp 포트
  • net_collector_tcp_port : Collector 서버에 연결할 tcp 포트

성능 정보는 udp를 통해 Collector 서버로 전송되며 tcp를 통해 Scouter Client 프로그램과 통신합니다. 때문에 6100 포트가 반드시 열려있어야 합니다.

 

3) Collector 서버 설정

cd /home/scouter/server/conf

vim scouter.conf
log_dir=/home/scouter/server/logs
net_udp_listen_port=6100
net_tcp_listen_port=6100
  • log_dir : 로그가 저장될 경로
  • net_udp_listen_port : agent와 통신할 udp 포트
  • net_tcp_listen_port : agent와 통신할 tcp 포트

 

4) Collector 서버 실행

cd ..
./startup.sh


cd ..
cd agent.host
./host.sh

 

5) Java Agent 설정

cd /home/scouter/agent.java/conf

vim scouter.conf
obj_name=WAS-01
net_collector_ip=127.0.0.1
net_collector_udp_port=6100
net_collector_tcp_port=6100

Java Agent도 2) 과 동일합니다.

  • obj_name : Scouter Client에 보여지는 java agent 이름
  • net_collector_ip : Collector 서버의 IP를 입력합니다.
  • net_collector_udp_port : Collector 서버에 연결할 udp 포트
  • net_collector_tcp_port : Collector 서버에 연결할 tcp 포트

 

6) Tomcat 실행 파일 설정

Java Agent는 WAS 실행시 같이 실행되어야 합니다. 때문에 Tomcat 설정 파일에 scouter.agent를 인식할 수 있도록 명령행 옵션을 설정합니다.

vim /home/tomcat9/bin/catalina.sh

export SCOUTER_AGENT_DIR=/home/scouter/agent.java
export JAVA_OPTS="${JAVA_OPTS} -javaagent:${SCOUTER_AGENT_DIR}/scouter.agent.jar"
export JAVA_OPTS="${JAVA_OPTS} -Dscouter.config:${SCOUTER_AGENT_DIR}/conf/scouter.conf"
export JAVA_OPTS="${JAVA_OPTS} -Dobj_name=WAS-01"

 

7) Tomcat 실행

 

8) Scouter Client 실행

Scouter Client 설치하기

모니터링하는 OS 환경에 맞는 scouter.client 파일을 받으면 됩니다.

접속 주소에는 모니터링 대상 서버의 IP(EC2의 경우 Public IPv4 주소)를 입력하고 ID/PW는 따로 설정하지 않았다면 동일하게 admin입니다.

Tomcat 연결까지 정상적으로 됐다면 아래와 같이 Tomcat 리스트가 보입니다. Xlog를 클릭하면 현재 서버의 작업 상태를 조회할 수 있게 됩니다.

 

 

참고자료
 

Scouter APM 소소한 시리즈 #1 - 설치하기

프로그램 개발 및 Scouter APM에 대한 블로그입니다.

gunsdevlog.blogspot.com

 

Scouter 설치

Scouter는 Agent와 Collector Server 그리고 User용 Client 프로그램으로 구성되며, 이들간의 관계를 잘 아는 것이 중요합니다. 각 서버에 설치된 Scouter의 Agent들이 성능 데이터를 Collector로 전송합니다. 사용

chanchan-father.tistory.com

 

반응형