오픈 소스 중 하나인 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으로 지정
(JDK 버전에 따라 호환되는 파일이 다르니 여기서 각 버전들을 확인하시길 바랍니다)
2) Host Agent 설정
- 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 서버 설정
- log_dir : 로그가 저장될 경로
- net_udp_listen_port : agent와 통신할 udp 포트
- net_tcp_listen_port : agent와 통신할 tcp 포트
4) Collector 서버 실행
5) Java Agent 설정
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를 인식할 수 있도록 명령행 옵션을 설정합니다.
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