Section 14: Microservice 모니터링 - KwangtaekJung/MSA-SpringCloud-user-service GitHub Wiki

Section 14: Microservice 모니터링

  • Hystrix Dashborad + Turbine Server
  • Micrometer
  • Prometheus
  • Grafana

Turbine Server

  • 마이크로 서비스에 설치된 Hystrix 클라이언트의 스트림을 통합
    • 마이크로 서비스에서 생성되는 Hystrix 클라이언트 스트림 메시지를 터빈 서버로 수집

Micrometer + Monitoring

  • Micrometer
    • JVM 기반의 애플리케이션의 Metrics 제공
    • Spring Framework 5, Spring Boot 2부터 Spring의 Metrics 처리
    • Prometheus 등의 다양한 모니터링 시스템 지원
  • Timer
    • 짧은 지연 시간, 이벤트의 사용 빈도를 측정
    • 시계열로 이벤트의 시간, 호출 빈도 등을 제공
    • @Timed 제공
  • Actuator의 endpoint에 metrics, prometheus 추가

Prometheus + Grafana

  • Prometheus
    • Metrics를 수집하고 모니터링 및 알람에 사용되는 오픈소스 애플리케이션
    • 2016년부터 CNCF에서 관리되는 2번째 공식 프로젝트
      • Level DB -> Time Series Database(TSDB)
    • PUll 방식의 구조와 다양한 Metric Exporter 제공
    • 시계열 DB에 Metrics 저장 -> 조회 가능 (Qeury)
  • Grafana
    • 데이터 시각화, 모니터링 및 분석을 위한 오픈소스 애플리케이션
    • 시계열 데이터를 시각화하기 위한 대시보드 제공
  • Grafana - Prometheus 연동
    • Data Source 추가: Grafana에서 Configuration > Data Source > Prometheus 추가
    • Dashborad 추가: Grafana에서 Create > import > JVM Micrometer(11892), Prometheus 2.0(3662), Spring Cloud Gateway(11506)