Monitoring/Prometheus-Grafana

[Prometheus - Grafana] - 4 프로메테우스 설치(docker)

돌문어우엉 2025. 4. 19. 13:48

prometheus YAML파일 작성

Prometheus를 docker-compose로 설치,관리합니다.

Docker-compose의 yaml코드를 작성하기 전에, 먼저 prometheus config 파일을 작성해야 합니다.

global: #작성 안할 시 기본값 60s
  scrape_interval:     10s
  evaluation_interval: 10s
  scrape_timeout:       5s

scrape_configs:
  - job_name: 'prometheus' 
    static_configs:
    - targets: ['prometheus:9090'] #포트번호는 도커 내부포트번호(외부노출 포트X)

 

해당 설정파일은 이후에 prometheus 컨테이너로 마운트 해야합니다.

또한 모니터링 지표가 추가 될 때 마다 해당파일에 job을 추가해 주어야 prometheus에서 메트릭 수집이 가능합니다.

 

Docker-compose YAML파일 작성

Docker-compose파일을 작성합니다.

version: "3.8"

services:
  prometheus:
    image: prom/prometheus
    hostname: prometheus
    container_name: prometheus
    ports:
      - "9090:9090" #외부포트는 서버 포트 상황에따라 변경합니다.
    volumes: #위에서 만든 prometheus YAML파일경로를 지정합니다.
      - ../config/prometheus.yml:/opt/prometheus/prometheus.yml
    command: #
      - '--web.enable-lifecycle'#Prometheus 서버를 중지하지 않고도 구성 변경 및 업데이트 가능하게
      - '--config.file=/opt/prometheus/prometheus.yml'# YAML파일 경로 지정
			- '--storage.tsdb.path=/prometheus'#저장소 경로 지정

 

모두 작성하였다면 docker-compose up -d 명령어를 사용하여 빌드 및 실행합니다.

만약 권한 관련 오류 발생 시, Prometheus config파일의 권한을 chmod 명령어를 통해 권한을 변경합니다.

 

 

Prometheus 실행 확인


http://서버주소:9090 으로 접속시 다음과같은 화면이 나옵니다.

 

 

 

여기서 Status→targets로 이동하면 다음과같이 Job이 prometheus로 하나가 설정되어 있어야 합니다.

해당 job은 프로메테우스 자기자신의 상태를 나타내는 메트릭 입니다.

※ State 가 up인 상태여야합니다. 만약 다를경우 prometheus config파일을 다시한번 확인합니다.

 

 

 

Endpoint 에 있는 URL에 접속해 보면 프로메테우스의 메트릭정보를 실시간으로 확인 할 수 있습니다.