0. 개요
- LG CNS에서 만든 오픈 소스 APM(Application Performance Management) 툴
- Apache License 2.0으로 사용의 범위가 아주 넓다
- 다양한 3rd-Party Plugin들이 있어서 확장성도 아주 좋은 편 (UI를 변경한다거나.. 특정 알림을 텔레그램으로 받는 등)
- Java 기반의 Stand-Alone 애플리케이션 혹은 Java 기반 Web Application을 모니터링 할 수 있다
- 각 OS별 Host를 모니터링 할 수 있다 (메모리, CPU 등)
1. 구성
- Collector : Agent에서 보내온 데이터를 수집하는 역할
- agent.java : Java 기반의 Stand-Alone 애플리케이션 혹은 Java 기반 Web Application의 모니터링 데이터를 Collector 서버로 전송하는 역할
- agent.host : 각 OS별 메모리, CPU등의 Host 데이터를 Collector 서버로 전송하는 역할
- Client : 모니터링 담당자가 Collector 서버가 수집하는 실시간 정보를 한눈에 모니터링 할 수 있는 툴
- 포스팅에 사용할 구성은 Collector는 1대의 서버에서 구동하고 Agent는 3대의 서버에서 구동 후 Client는 1대의 Collector 서버로 접속해서 수집된 3개의 서버를 한번에 모니터링하게 구성하려고 한다.
2. Collector 및 Agent 설치 (CentOS 기준)
1) 다운로드 (https://github.com/scouter-project/scouter/releases)
- 필자의 경우 최신 버전은 아니지만 기존에 설치해보고 안정적으로 동작하던 v2.10.2 버전으로 선택했다
- Collector 서버와 Agent가 한번에 들어있는 scouter-all-2.10.2.tar.gz를 내려받는다
- wget을 이용해서 내려받으려는 경우 오른쪽 버튼을 눌러서 링크 주소를 복사해서 사용하면 된다
- wget을 이용할 때의 예시 (원하는 위치에 다운로드)
wget https://github.com/scouter-project/scouter/releases/download/v2.10.2/scouter-all-2.10.2.tar.gz
2) 압축해제
- 압축을 해제하면 Collector 서버의 사용 준비는 끝이 난다
tar -xvf scouter-all-2.10.2.tar.gz
3. Collector 및 Agent 설정, 구동
1) Collector (각각의 Agent에서 보내온 데이터를 수집할 서버에 설치)
- scouter-all-*.tar.gz 파일을 압축 해제한 경로에 "server" 폴더
- Collector 서버 구동
scouter경로/server/startup.sh
2) agent.host (데이터를 수집해야하는 서버에 각각 설치)
- scouter-all-*.tar.gz 파일을 압축 해제한 경로에 "agent.host" 폴더
- 수집한 정보를 전송할 Collector 서버 정보 작성 (scouter경로/agent.host/conf/scouter.conf)
vi scouter경로/agent.host/conf/scouter.conf
### scouter host configruation sample
net_collector_ip= Collector 서버 IP
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 구동 (scouter경로/agent.host/host.sh)
scouter경로/agent.host/host.sh
3) agent.java (Tomcat 등 데이터를 수집해야하는 서버에 각각 설치)
- scouter-all-*.tar.gz 파일을 압축 해제한 경로에 "agent.java" 폴더
- Collector 서버 정보 작성 (scouter경로/agent.java/conf/scouter.conf)
vi scouter경로/agent.java/conf/scouter.conf
### scouter java agent configuration sample
obj_name= Object명
net_collector_ip= Collector 서버 IP
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,my.ApiExceptionLoggingFilter.handleNotFoundErrorResponse
#hook_exception_hanlder_exclude_class_patterns=exception.BizException
- Tomcat에 agent.java 정보 작성
vi tomcat경로/bin/catalina.sh
export SCOUTER_AGENT_DIR=scouter경로/agent.java
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} -Dobj_name=Object명
- Tomcat을 재시작하면 Agent가 정보를 수집해서 Collector 서버로 보낸다
tomcat경로/bin/shutdown.sh
tomcat경로/bin/startup.sh
4. Client (Windows 기준)
1) 다운로드
- 위에서 과정을 거친 Collector 서버와 Agent의 버전과 같은 버전을 설치
- 압축을 해제하면 실행파일(scouter.exe)이 보인다
2) 실행
- Collector 서버의 ip 및 port를 입력 (e.g. 192.168.20.101:6001)
- ID와 Password의 초기 값은 'admin'
- Collector 서버에 접속하면 3대의 서버의 Agent에서 보내온 정보를 아래와 같이 한눈에 보여준다
틀린 부분이 있다면.. 알려주시면 감사하겠습니다
'개발 > Etc.' 카테고리의 다른 글
[GitHub Pages 2] Jekyll 테마 적용 (feat.Hyde) (2) | 2024.09.06 |
---|---|
[GitHub Pages 1] 깃허브 블로그 만들기 (10) | 2024.09.03 |
[IntelliJ] JetBrains IDE 실행안됨 오류 확인 방법 (0) | 2023.04.28 |
[Jetbrains] IntelliJ 코딩 습관을 고쳐줄 필수 플러그인 (Pycharm, Android Studio 등) (0) | 2023.03.22 |
카카오 애드핏 가지가지 하네 503 Service Temporarily Unavailable (2) | 2020.07.24 |