🍂 들어가기에 앞서 micrometer와 metric
들어가기에 앞서 마이크로미터와 메트릭이 무엇인지 알아보자 밑에 블로그에 가볍게 정리해두었다.
https://latewalk.tistory.com/220
👨👧👦 micrometer 와 metric
🌲 Micrometer 서비스를 운영할 때 어플리케이션은 수많은 지표들을 확인해야한다. 이런것을 확인하기 위해 모니터링을 하게 되는데 우리가 실제로 정리되어 있는 내용을 화면(대시보드)를 통해
latewalk.tistory.com
🍂 Micrometer 구현
- 라이브러리 추가
- micrometer-registry-prometheus 의존성을 추가해준다
- 이는 ApiGateway, userservice, orderservice 모두 추가해주어야 한다
- MetricsConfig 클래스 추가
- Controller에 사용할 어노테이션 밑에 @Timed를 넣어준다.
- 그렇게 실행을 하고 user에서 welcome 과 healthcheck를 진행한다면 그 로그가 남고 그것은 actuator의 엔드포인트중 metrics와 prometheus로 진행한 요청의 정보를 확인 할 수 있다.
🍂 Prometheus
어플리케이션에서 발생한 메트릭을 그 순간만이 아닌 과거의 이력까지 함께 확인하기 위해 메트릭을 저장할 곳이 필요하다 그 저장소역할을 하는 것이 바로 프로메테우스이다.
- 스프링 부트 actuator와 micrometer를 사용하면 수많은 메트릭을 자동으로 생성한다. 마이크로미터 프로메테우스 구현테는 프로메테우스가 읽을 수 있는 포멧으로 메트릭을 생성한다.
- 그렇게 프로메테우스는 어플리케이션의 마이크로 프로메테우스 구현체를 통해 메트릭을 계속해서 수집한다
- 수집된 메트릭을 내부 DB에 저장한다.
- 저장된 내용을 대시보드 툴인 그라파나를 이용해서 메트릭을 좀 더 보기좋게 조회한다.
♭ 프로메테우스 설치
https://prometheus.io/download/
Download | Prometheus
An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach.
prometheus.io
이곳에서 본인에게 맞는 OS를 맞춰 설치해주면 된다.
♭ 프로메테우스 yml 파일 설정
- 압축을 해제한 폴더에 들어가보면 yml 파일을 바로 볼 수 있다
- 우리는 UserService, ApiGateway, OrderService에서 사용할 예정이라 이렇게 추가해준다.
- job_name : 수집하는 이름
- metrics_path : 수집하는 경로
- scrape_interval : 수집하는 주기
- static_config : 수집하는 서버의 IP, Port 를 저장
♭ 프로메테우스 실행
- 압축을 해제한 폴더 내부에 prometheus.exe 파일을 사용하면 된다.
- 프로메테우스의 초기 대시보드이다.
- 포맷을 통해 검색으로 확인하면 결과를 확인 할 수 있고 또한 그래프로도 확인을 할 수있다.
프로메테우스 또한 보는 것 처럼 대시보드가 있지만 그라파나가 더욱 보기 좋기 때문에 사용해보자
🍂 Grafana
위에서 설명한 프로메테우스를 저장소라고 한다면 해당 저장소에 저장되어 있는 내용을 그래프등을 통해 좀 더 보기 쉽고 편리하게 해주는 것이 그라파나이다.
♭ 그라파나 설치
https://grafana.com/grafana/download
Download Grafana | Grafana Labs
Overview of how to download and install different versions of Grafana on different operating systems.
grafana.com
♭ 그라파나 실행
- bin에 있는 grafana-server.exe를 실행하고 localhost:3000 을 입력하여 화면으로 들어가면 된다
- Id 와 비밀번호는 admin으로 동일하다 추후에 바꿀수 있다.
♭ 그라파나 대시보드 추가
대시보드 추가하는 법
1. 프로필 이미지 근처에 import dashboard를 누른다
2. https://grafana.com/grafana/dashboards/ 해당 URL에서 검색하여 원하는 대쉬보드를 찾는다
3. 대쉬보드를 클릭하여 하단에 ID를 찾는다
4. Grafana.com dashboard or ID 라고 적힌곳에 ID를 입력한다
5. Load를 누르고 다음 화면에서 Prometheus라고 적힌곳에 아래 화살표를 클릭해 프로메테우스를 넣어준다
6. 저장하면 끝
- JVM (Micrometer) - ID : 4701
- Prometheus 2.0 Overview - ID : 3662
- 이렇게 다양한 대시보드를 이용해 현재 서비스에 관련된 상태를 볼 수 있다. 이렇게 시각화를 하여 편하게 현재 상황을 관리할 수 있는 것을 도와주는 것이 바로 그라파나이다.
'MSA > MSA 강좌 - 이도원 강사님' 카테고리의 다른 글
👨👧👦14. 컨테이너 가상화 (feat. Docker) (0) | 2024.04.16 |
---|---|
👨👧👦 분산 추척, Zipkin (1) | 2024.04.12 |
👨👧👦12. CircuitBreaker 와 Resilience4J의 사용 (0) | 2024.04.11 |
👨👧👦11. 데이터 동기화를 위한 Apache Kafka활용하기 (2) (0) | 2024.04.11 |
👨👧👦10. 데이터 동기화를 위한 Apache Kafka활용하기 (1) (0) | 2024.04.09 |