1.Scouter란? |
Scouter는 LG CNS 에서 만들어 공개한 오픈소스 APM(Application Performance Monitoring) 입니다. Scoute는 JVM(WAS, Standalone application)을 사용하는 어플리케이션 및 OS 자원에 대한 모니터링 모니터링 기능을 제공합니다. Scouter는 다음 깃허브 링크(https://github.com/scouter-project/scouter)에서 다운로드 받
아서 사용할 수 있으며, 기본적인 사용방법이 간단하다는 장점이 있습니다. Windows, Mac OS X, Linux와 같은 다양한 OS를 지원합니다.
현재 Scouter는 자바 어플리케이션(Tomcat, JBoss, Resin)을 대상으로 성능 수집이 가능합니다. 또한 다양한 운영체제(Linux, Windows, Unix)에 성능 모니터링도 제공하여 어떤 임계치에 도달했을 때 UI에서 어떤 PC에 문제가 생겼는지 알려알려줍니다.
Scouter는 공식 플러그인도 제공하고 있는데 이러한 플러그인을 사용하여 다양한 기능을 추가적으로 사용할 수 있다는 장점을 가지고 있습니다.
■ Server plugin
∙ Sample
- scouter-plugin-server-null : 수집데이터를 단순히 출력해 주는 sample plugin
∙ Alert
- scouter-plugin-server-null : 수집데이터를 단순히 출력해 주는 sample plugin
- scouter-plugin-server-email : Scouter에서 발생하는 alert를 email로 전송하는 plugin
- scouter-plugin-server-telegram : Scouter에서 발생하는 alert를 telegram으로 전송하는 plugin
- scouter-plugin-server-slack : Scouter에서 발생하는 alert를 slack으로 전송하는 plugin
- scouter-plugin-server-line : Scouter에서 발생하는 alert를 line으로 전송하는 plugin
- scouter-plugin-server-dingtalk : Scouter에서 발생하는 alert를 dingtalk으로 전송하는 plugin
∙ Counter
- scouter-plugin-server-influxdb : Scouter의 성능 counter 데이터를 시계열 DB인 influxDB로 연동하는 plugin
■ Agent plugin
∙ TBD
Scouter가 제공하는 기능은 기본적으로는 WAS에서 벌어지는 대부분의 내용들을 확인해 볼 수 있습니다.
∙ 각 요청의 응답속도 / 프로파일링 정보
∙ 서버 요청 수 / 응답 수
∙ 처리 중인 요청 수
∙ 응답속도의 평균
∙ JVM 메모리 사용량 / GC 시간
∙ CPU 사용량
그리고 프로파일링 정보를 통해서 아래와 같은 정보들을 상세하게 볼 수 있습니다.
∙ 서버간 요청의 흐름
∙ 각 SQL 쿼리의 수행 시간 / 통계
∙ API 호출 수행 시간
∙ request header 정보
∙ 메소드 호출시 수행 시간
이렇게 상세하게 볼 수 있다는 말은 거꾸로 말하면 아주 많은 데이터가 저장된다는 것입니다. 따라서 Scouter server 로 사용하는 장비는 디스크 용량이 많은 장비를 추천합니다.
<SCOUTER가 특별한 이유>
Scouter는 애플리케이션의 성능을 모니터링하고 분석할 수 있습니다.
Scouter는 아래와 같은 특징들이 있습니다.
설치형 솔루션
Scouter를 사용하기 위해서 모니터링 대상 시스템과 같은 내부망에 수집 서버를 설치해야 합니다. 이렇게 구성할 경우 SaaS 형 모니터링 솔루션에 비해 보다 상세한 데이터를 수집할 수 있습니다. SaaS 형은 설치가 필요 없기에 쉽게 사용할 수 있는 반면, Scouter와 같은 설치형은 수집된 데이터가 보다 상세하기 때문에 분석이 효율적입니다.
클라이언트를 뷰어
Scouter Client는 Eclipse RCP Platform으로 만들어진 독립 클라이언트입니다. 그래서 웹형 뷰어보다 많은 성능 데이터를 제어할 수 있습니다.
Scouter 파일 DB에 성능 데이터를 저장
Scouter는 빅 데이터를 수집하고, 각 서비스의 트랜잭션(요청)을 분석하기를 원합니다.
그래서 Scouter는 대량의 데이터를 제어해야 합니다. Scouter가 압축된 파일 서비스 성능 및 프로파일 데이터를 저장 하는 이유입니다.
타겟 시스템에 대한 개별 요청을 추적
모든 서비스 콜은 개별적으로 추적(프로파일링)하고 그것을 저장합니다. 이것은 압축된 아카이브 및 독립 클라이언트에서 가능합니다.
Scouter 진행중인 스택 덤프를 분석
때로는 다른 스레드 정보에서 성능 문제를 이해하는 것은 분명 아닙니다. 그 때는 다른 방법을 생각해야 합니다. 여러 번 전체 스레드 스택을 수집하고 함께 스택을 분석 할 경우, 우리는 성능 문제를 해결하기 위한 또 다른 기회를 얻을 수 있습니다.(SFA)
2. Scouter 구조 |
Modules | 설 명 |
Server(Collector) | Agent가 전송한 데이터 수집/처리 |
Host Agent | OS의 CPU, Memory, Disk등의 성능 정보 전송 |
Java Agent | 실시간 서비스 성능 정보, Heap Memory, Thread 등 Java 성능 정보 |
Client(Viewer) | 수집된 성능 정보를 확인하기 위한 Client 프로그램 |
'IT 이야기 > Scouter' 카테고리의 다른 글
Scouter 기본 항목 모니터링(1/2) (0) | 2019.12.12 |
---|---|
Scouter 설치 (0) | 2019.12.12 |
Scouter Client 사용법 (0) | 2019.12.12 |
Scouter Client Quick Guide (0) | 2019.12.12 |
Scouter Quick Start (0) | 2019.12.12 |
댓글