본문 바로가기
INFRA/Operation

Scouter 모니터링

by 백만장작엔지니어 2022. 12. 21.

안녕하세요

BTC 백만장작입니다

 

오늘은 오픈소스 APM 모니터링 Tool인 Scouter를 소개해드리려고 합니다.

 

오픈소스 APM인 Scouter는 JVM(WAS, Standalone application)을 사용하는 어플리케이션 및 OS 자원에 대한 모니터링 모니터링 기능을 제공한다.

 

 

GitHub - scouter-project/scouter: Scouter is an open source APM (Application Performance Management) tool.

Scouter is an open source APM (Application Performance Management) tool. - GitHub - scouter-project/scouter: Scouter is an open source APM (Application Performance Management) tool.

github.com

 

modules

  • scouter 는 4가지 모듈이 존재한다.

modules기능

collector 에이전트로부터 실시간 모니터링 정보를 수집, 가공하며 실시간 대시보드 제공 및 통계정보관리, 장애/에러 경보 등 관리에 필요한 각종 기능을 수행
Java Agent 모니터링 대상 시스템(WAS)에 구성되면 되며, 각종 성능 정보를 수집, 스카우터 서버로 전달하는 역할을 한다.
Host Agent CPU, Memory, 디스크 성능 정보를 Collector로 전송한다.
Client Collector에서 수집된 정보를 확인하는 클라이언트 프로그램

 

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

Server

설치 및 실행

  • Scouter는 Agent와 Collector Server 그리고 User용 Client 프로그램으로 구성되며, 이들간의 관계를 잘 아는 것이 중요하다.
    • 각 서버에 설치된 Scouter의 Agent들이 성능 데이터를 Collector로 전송한다.
    • 사용자는 Client 프로그램을 통해 성능 데이터를 본다.
Agent  ⇨⇨⇨  [성능 데이터]  ⇨⇨⇨  Collector(Server)
Client  ⇦⇦⇦  [성능 데이터]  ⇦⇦⇦  Collector(Server)

설치 단계

세부 설치법은 github document 를 참조하고, 대략적인 순서와 큰 구성만 다룬다.
https://github.com/scouter-project/scouter/blob/master/scouter.document/main/Setup_kr.md

1. Scouter 다운로드

  • Scouter 릴리즈 페이지에서 최신버전을 다운로드

2. Scouter Server 설치 및 기동

  • 적절한 위치에 scouter-all-[version].tar.gz 의 압축을 풀어주고, Scouter Server를 실행
    • startup.sh 또는 startup.bat 실행
  • netstat -an | grep 6100 을 해보면 Scouter Server가 LISTEN 하고 있는것을 알 수 있을 것이다.
위 설정에서 알 수 있듯이 SCOUTER는 UDP와 TCP를 모두 사용한다.
성능정보는 UDP를 통해 Collector에 전송되며, TCP 연결은 Client 프로그램을 통해 사용자가 Agent에 특정 요청(예를 들면 Top Process 목록 요청)을 보낼때 사용된다.
연결은 UDP, TCP 모두 Agent가 수행하며, 따라서 Agent와 Collector 사이에 방화벽등이나 보안 정책이 적용되어 있다면 TCP및 UDP 6100 포트가 허용되어 있어야 한다.

3. Scouter Client 실행

  • 접속할 Scouter Serve의 IP나 도메인을 입력
    • ID와 Password를 입력
    • 기본값 : admin / admin
  • Collector에 접속되면 좌측 상단의 Object-View에서 Collector 서버 하나가 있는 것을 확인할 수 있다.
    * 이후에 Agent를 실행할때마다 이 Collector 서버 하위에 모니터링 대상이 나타나게 된다.

'INFRA > Operation' 카테고리의 다른 글

Aztfy 개념 및 사용법  (0) 2023.01.03
terraform backend 설정 - local  (0) 2022.12.22
terraform backend 설정 - s3  (0) 2022.12.21
wsl2로 terraform VScode 환경 구축하기 (1)  (0) 2022.12.16
Terraform target이란  (2) 2022.12.15

댓글