life is egg
[나만무] 프로메테우스 연결오류 본문
오류상황..!
프로메테우스가
nestjs 엔드포인트에 접근을 못한다 .
하지만

로컬에서 해당주소를 접속해보면 들어가진다
무슨이유일까
같은 도커컨테이너 네트워크 상에있는 node exporter는 정보를 잘 가져오는거보니
아직까지는 추즉인데 프로메테우스를 도커로 실행중이지만 nest app은 도커를 사용한하고 로컬에서 실행중이기 때문 인듯하다
그래서 못찾는게 아닐까 ! 합당하다 합당해 !
일단 추측은 맞은 듯 하다.
왜냐하면 Prometheus 컨테이너 내부에서 localhost or 127.0.0.1 같이 자기 자신을 가리키는 주소를 입력하면 컨테이너 자신을 가리키기때문에 호스트 머신의 ip주소를 모르기 때문 ..!
그럼 지금까지 잘되던이유는..
1. 로컬환경에서 테스트해볼때는 nest 앱을 도커 이미지화해서 같은 네트워크 상으로 묶어놔서
2. 배포환경에서는 api 서버주소를 사용했기때문..
이러면.. 지금까지 안된 이유가 설명 될듯..? ㅠ_ㅠ
이건 추가로 생각해본건데 cors를 클라우드 프론트 쪽 으로만 오픈해놔서 발표회 당일 프로메테우스가 접근을 할 수 없었나.. 라는 추측을 해본다
그래서 어떻게 해야할까?
- 이참에 백서버를 도커이미지화해서 같은 네트워크로 묶기
- 이건 바꿔야할 설정이 너무 많다 .. 그리고 개발 단계에서 한번 해볼려고 했는데 udp 연결이 제대로 안되는듯 해서 이걸 해결 하려면 시간이 오래걸릴 듯하지만 가장 베스트인 방법 같다 .
- 호스트 네트워크 모드 사용
- -> 리눅스기반일때만 사용 가능함.! 난 불가능이자나~
- 도커-호스트 네트워크 브릿지 설정
- 직접 IP 주소 사용
일단 두방법 중 가장 간편하게 직접 내 로컬 pc의 IP를 입력해서 해결 해주면 되지만 일단 도커-호스트 네트워크 브릿지 개념은 알고 가장..
최종 목표는 nestapp 까지 도커컨테이너화 해서 관리하는것이 목표이다 개발당시 udp 연결에서 애를 먹어서 시도하다가 시간관계상 못했다.
도커-호스트 네트워크 브릿지
도커-호스트 네트워크 브릿지 설정 방식은 도커 컨테이너가 호스트 머신(로컬 머신)의 네트워크에 접근할 수 있도록 설정하는 방법..!
수정해야할 파일들은..
- docker-compose 파일
extra_host 를 사용해서 도커 컨태이너 내에서 호스트의 네트워크를 참조 할 수 있더록 설정
- prometheus 설정 파일
nestjs app 의 url 을 extra_hosts 를 참조 할 수 있도록 변경 해야함 ..
예시 코드
version: '3'
services:
prometheus:
image: prom/prometheus
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
extra_hosts:
- "host.docker.internal:host-gateway"
grafana:
image: grafana/grafana
ports:
- "3000:3000"
extra_hosts:
- "host.docker.internal:host-gateway"
scrape_configs:
- job_name: 'nestjs'
static_configs:
- targets: ['host.docker.internal:3000']
내 ip 주소 사용하기
가장 간단한 방법이다.
prometheus.yml 파일에 nest.js targets에 나의 ip 주소를 입력하면됨.
프로메테우스 컨테이너가 내 ip 주소를 알고 거길로 접근하면됨 ..!
연결 잘된다 ..!

후기.
아직 도커가 익숙하지 않아서 설정에 애를 먹는게 많다..
지금도 도커 개념만 잘 알고 있었다면 애먹지 않았을텐데.. 라는 생각을 하면서 그래도 이제라도 조금씩 알아가는 느낌이라 다행이다.
로컬에서 nestapp 도 이미지화해서ㅓ udp 세팅까지 끝내고 바로 배포서버에 다른 설정없이 배포하는 맛을 느껴보고싶다
근데 그럴려면 아마 .. 조금 설정 할게 많을듯 ..?! nginx라던가..... 레디스라던가.. 쥬ㅜ륵..
'sw정글' 카테고리의 다른 글
| [나만무] 게임 MVP 선정 과정 개선 (0) | 2024.07.23 |
|---|---|
| [나만무] 채팅 금칙어 필터링 속도개선 (0) | 2024.07.23 |
| [나만무] 소켓 disconnect 가 두번씩 호출되는데... (0) | 2024.07.23 |
| [나만무] 웹게임 TCP에서 UDP로 전환 과정 (0) | 2024.07.23 |
| [C언어] free() 와 NULL (0) | 2024.04.06 |