소개
JVM 기반 WAS, OS 모니터링 시스템으로 오픈소스 APM 입니다. 스카우터는 크게 4가지 모듈로 구성되어 있으며, 각 역할은 아래 에서 소개하도록 하겠습니다. Java 시스템에서 주로 사용하지만 스카우터 git 설명에 따르면 다른 시스템에서도 사용 가능한 것으로 보입니다.
https://github.com/scouter-project/scouter/blob/master/README_kr.md
스카우터 기본 구성
시스템 적용 버전
1. API Server
* CentOS7.9
* JAVA 11
2. Backoffice Server
* CentOS7.9
* JAVA 11
3. 공통
* scouter-all-2.12.0.1
설치
1. releases - https://github.com/scouter-project/scouter/releases
2. wget https://github.com/scouter-project/scouter/releases/download/v2.12.0.1.SNAPSHOT/scouter-all-2.12.0.1.SNAPSHOT.tar.gz
3. tar xzvf scouter-all-2.12.0.1.SNAPSHOT.tar.gz
4. cd scouter
각 모듈 확인
agent.batch
WAS 뿐만 아니라 대량의 데이터를 처리하는 배치 모듈등 통계 중심의 성능 데이터를 수집 및 분석
(https://github.com/scouter-project/scouter/blob/master/scouter.document/main/Stand-alone-Java-Batch-Agent_kr.md)
agent.host
OS 성능정보를 수집하여(메모리, CPU) Server(Collector)로 전송
cd scouter/agent.host
cd conf
vi scouter.conf
주석을 해제하지 않으면 디폴트로 동작
net_collector_ip=127.0.0.1 // Server(collector) 의 IP
#net_collector_udp_port=6100 // 기본 통신 포트
#net_collector_tcp_port=6100
JAVA_HOME의 위차가 특정 위치로 설정 되어 있다면 host.sh 을 아래와 같이 실행하자
#!/usr/bin/env bash
nohup $JAVA_HOME/bin/java -classpath ./scouter.host.jar scouter.boot.Boot ./lib > nohup.out &
sleep 1
tail -100 nohup.out
agent.java
자바 어플리케이션에 포함된 채로 구동되며, JVM 수준에서 확인할 수 있는 자료들을 수집하여 Server(Collector)로 전송.
cd scouter/agent.java
cd conf
vi scouter.conf
#obj_name=WAS-01 //수집기에서 보여질 Object 이름
#net_collector_ip=127.0.0.1 //서버 IP
#net_collector_udp_port=6100 //기본 통신 포트
#net_collector_tcp_port=6100
was 실행 시 agent.java 가 같이 실행 되도록 설정
사내 서비스는 Embedded tomcat(spring boot)를 사용하기 때문에 scouter 정보를 java 명령어에 추가
nohup java -javaagent:/home/scouter/scouter/agent.java/scouter.agent.jar -Dscouter.config=/home/scouter/scouter/agent.java/conf/scouter.conf -jar jarName.jar --spring.profiles.active=dev &
server(collector)
scouter agent 의 수집기록을 받아 저장하고, scouter client 로 데이터를 내려주는 역할.
cd scouter/server
cd startup.sh
JAVA_HOME 별도로 설정 되어 있다면 아래와 같이 실행 시키며, 그외 추가 설정은 없다.
#!/usr/bin/env bash
nohup $JAVA_HOME/bin/java -Xmx1024m -classpath ./scouter-server-boot.jar scouter.boot.Boot ./lib > nohup.out &
sleep 1
tail -100 nohup.out
webapp(클라이언트)
수집기를 통해 지표들을 받아서 그래프로 표현. JAVA로 만들어진 윈도우와 리눅스, 맥OS 버전이 모두 갖추어져 있다. 특정 조건을 걸어서 알림을 받을 수 있도록 설정 가능 (참고 : https://team-platform.tistory.com/14)
OS에 맞는 scouter client 다운로드하여 실행. 디폴트 계정은 admin/admin
https://github.com/scouter-project/scouter/releases/tag/v2.10.2
참고 :
https://team-platform.tistory.com/14
https://daddyprogrammer.org/post/10230/scouter-apm-jvm-was-os-monitoring/
'운영체제 이야기 > Linux(CentOS)' 카테고리의 다른 글
[CentOS7] Google OTP 적용하기 !!!! (0) | 2021.12.30 |
---|---|
[CentOS7] APM 프로그램 Scouter + Slack 을 이용한 JAVA 서비스 모니터링 - 2편 (0) | 2021.07.24 |
[CentOS7] 압축 및 해제 (0) | 2021.07.09 |
[CentOS7] mysql8.x Community server 설치하기 (0) | 2021.04.22 |
[CentOS7] sh 쉘 if 문 옵션 (0) | 2021.04.21 |
댓글