SpringBoot 설정

implementation ("org.springframework.boot:spring-boot-starter-actuator")
runtimeOnly ("io.micrometer:micrometer-registry-prometheus")
management:
  endpoints:
    web:
      exposure:
        include: prometheus

localhost:8080/actuator에 접속하면 Response를 받을 수 있다.


Prometheus

docker run -d -p 9090:9090 -v /home/ubuntu/Prometheus/prometheus.yaml:/etc/prometheus/prometheus.yaml prom/prometheus --config.file=/etc/prometheus/prometheus.yaml

prometheus 컨테이너를 띄워놓으면 ec2주소:9090으로 접속하면 아래와 같은 화면이 나온다.

스크린샷 2023-09-21 오후 3.44.50.png

Prometheus yaml 관련 설정

global:
  scrape_interval: 5s # 10초 마다 Metric을 Pulling

  evaluation_interval: 10s # rule 을 얼마나 빈번하게 검증하는지 설정
scrape_configs:
  - job_name: 'spring-actuator-prometheus'
    metrics_path: '/actuator/prometheus' # Application prometheus endpoint
    static_configs:
      - targets: ['52.78.216.172:80'] # Application host:port

/etc/prometheus 밑에 prometheus.yaml을 만들어서 위처럼 설정해준다.

이슈


Grafana 설정

Grafana는 run할 때 설정하지 않아도 직접 접근해서 설정할 수 있기 때문에 그냥 run만 하면 된다.

docker run -d -p 3000:3000 grafana/grafana --name ori-grafana