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에 접속해 보면 프로메테우스의 메트릭정보를 실시간으로 확인 할 수 있습니다.