본문 바로가기
prometheus

prometheus localhost:port connection refused 해결법

by 앵남(Andy) 2022. 1. 19.

글 개요

prometheus과 granfana를 통해 간단한 머신러닝 모니터링을 진행중에 docker로 배포한 머신러닝 서버가 prometheus에 연결이 되지않는 문제점을 해결하는 방법입니다. 

글 본문

위처럼 docker로 서버를 배포한 상태에서 prometheus을 연결하려고 했으나 connect:connection refused라는 error가 나타났습니다. 간단한 문제인줄 알았으나 4시간이 걸렸습니다. ㅠㅠ 알고보니 도커 컨테이너 서비스를 연결 할 때는 localhost가 아니라 host.docker.internal:port로 연결을 시켜줘야 합니다. 또한 prometheus.yml파일에서 job_name또한 연결하려는 서비스의 image name을 사용해야합니다. 

 

promethus.yml

global:
  scrape_interval:     15s
  evaluation_interval: 30s
  # scrape_timeout is set to the global default (10s).

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']

  - job_name: 'js-fastapi-monitoring_web'
    honor_labels: true
    static_configs:
      - targets: ['host.docker.internal:5000']

monitoring하려는 docker container 정보

다시 docker run을 시도해주면 

docker run -d --name=prometheus -p 9090:9090 -v /mnt/c/Users/dbdud/js-fastapi-monitoring/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus --config.file=/etc/prometheus/prometheus.yml

State가 up으로 바뀐걸 볼 수 있습니다. 순간적으로 포기하고 싶었지만, 포기하지 않고 끝까지 한결과네요 ㅎㅎ 마저 프로젝트를 끝내러 가야겠네요!

'prometheus' 카테고리의 다른 글

docker - prometheus 연결하기  (0) 2022.01.19

댓글