본문 바로가기

Review/SW

Scouter APM 사용 후기

Concept

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


Opinion

상용 APM과 비교해도 기능적으로 전혀 부족함이 없다 생각한다. 

자신 혹은 회사가 원하는 방향으로 APM을 운영하고, 이에 대한 이해를 높이기 위해 직접 운영해 보는 것을 추천한다. 

특히 Scouter가 수집하는 데이터를 직접 활용할 수 있어 활용 방안이 무궁무진해 질 수 있다.

장점

  • 데이터가 수집서버 DB(influxdb)에 저장되고 활용할 수 있다.
  • 실시간 모니터링에 강점이 있다.
    •  Service EQ, XLog, GC time, GC count 등을 대시보드로 구성하여 실시간 지표를 확인할 수 있다.
  • 다양한 plug in 과 한글 자료

단점

  • 컨테이너로 띄워지는 어플리케이션에 대한 history추적이 어렵다. (컨테이너가 새로 배포될 때 마다 새로운 인스턴스에 데이터 기록) 
  • OS 자원에 대한 리소스 오탐이 종종 발생한다.
  • 리포팅 기능이 약하다.

How to use

  • Collector서버에 쌓이는 데이터를 influxdb → mysql 서버로 동기화하여 필요한 데이터를 추출한다.
    • e.g. 어플리케이션 별 elapsed time, query time, error 발생률을 정리하여 데이터 활용
      • 일별, 월별로 정리하여 리포팅 기능으로 활용할 수 있다.
  • Telegram을 연동하여 어플리케이션, OS 리소스에 대한 알람을 받는다.
    • GC time, GC Count, Elapsed time, CPU 등 모니터링 되는 항목에 대한 개별 지표를 설정하고 알람 설정이 가능하다.
  • 장애 또는 지연이 발생한 시간의 XLog를 분석하여 어플리케이션/쿼리 튜닝을 진행할 수 있다.

[Scouter]기본 사용법과 필수 그래프 목록

[Scouter]Install Scouter Server(collector) and client

[Scouter]Install Scouter host and java agent

[Scouter]Scouter로 서버 모니터링하기

[Scouter]Scouter로 애플리케이션 모니터링하는 방법

[Scouter]Scouter Object Request 사용 방법(+성능튜닝 순서)

[Scouter]Heap 메모리와 GC(Garbage Collection)란 무엇인가?

[Scouter]Scouter XLog 활용 방법 + XLog 패턴


https://github.com/scouter-project/scouter/blob/master/README_kr.md