글 개요
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 |
---|
댓글