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 추가
- welcome, status api에 @Timed 추가
- postman 이용해 호출한다.
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)