Mini
[스프링-msa] 프로메테우스 , 그라파나 docker 연동 본문
- 먼저 docker-compose.yml 작성
- 로컬의 prometheus.yml을 볼륨마운트를 통해 도커에 넣어줘야 한다.
prometheus:
image: prom/prometheus
container_name: prometheus
volumes:
- D:\JavaProject\monitor:/etc/prometheus
ports:
- 9090:9090
restart: always
networks:
my-network:
ipv4_address: 172.18.0.106
grafana:
image: grafana/grafana
container_name: grafana
ports:
- 3000:3000
restart: always
depends_on:
- prometheus
networks:
my-network:
ipv4_address: 172.18.0.107
- prometheus.yml 작성
- 도커에서 프로메테우스를 띄운경우, localhost를 쓰면 에러발생.
- 해결 : host.docker.interval : port 를 써주면된다.
global:
scrape_interval: 15s
scrape_timeout: 15s
evaluation_interval: 2m
external_labels:
monitor: "codelab-monitor"
query_log_file: query_log_file.log
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["host.docker.internal:9090"]
- job_name: "user-service"
scrape_interval: 15s
metrics_path: "/user-service/actuator/prometheus"
static_configs:
- targets: ["host.docker.internal:8000"]
# - targets: ["user-service:8000"] # service도 docker로 실행시 서비스명 명시
- job_name: "order-service"
scrape_interval: 15s
metrics_path: "/order-service/actuator/prometheus"
static_configs:
- targets: ["host.docker.internal:8000"]
- job_name: "apigateway-service"
scrape_interval: 15s
metrics_path: "/actuator/prometheus"
static_configs:
- targets: ["host.docker.internal:8000"]
- 그라파나의 주소도 host.docker.internal 사용


- metric 정보 수정, 서비스이름 수정(yml에 넣은 그이름으로)

- legend를 label name 으로 설정해야 값이 잘뜸

- 결과

'Java > Spring-msa' 카테고리의 다른 글
[스프링 msa] zipkin을 이용한 msa 분산추적 (0) | 2025.02.23 |
---|---|
[스프링 msa] 서킷브레이커를 이용한 장애전파 차단 (0) | 2025.02.16 |
[스프링 msa] msa 예외처리 // errorDecoder 이용 (0) | 2025.02.14 |