인프런 커뮤니티 질문&답변

최준성님의 프로필 이미지
최준성

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Monitoring

질문

작성

·

329

0

안녕하세요 강사님!

9:38초에서 

강사님처럼

/etc/prometheus/prometheus.yml prom/prometheus 
를 했을 때는
위와 같은 오류가 나는데
/etc/prometheus.yml prom/prometheus
이렇게 뒤쪽에 prometheus 하나를
빼주면 정상 작동합니다.
문제가 있을까요?

답변 2

0

윗 분 이미지 파일 탭으로 열어보니, yml의 map 구조가 잘못 지정되어서 (아마 인코딩 문제일 것으로 추측) 설정파일로 사용하려는데 실패해서 오류가 발생했던 것으로 보이는데요.

파일이 잘못되었다면 강사님의 설정 파일이 맞고, 이름을 변경해서 정상적으로 돌았다는 것은 잘못된 파일이 다른 경로로 복사되어서 동작 자체에는 문제가 없었을 걸로 보입니다만, job으로 등록해놓았던 것들이 정상적으로 돌았는지는 따로 확인이 필요할 것 같습니다.

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다. 

올려주신 이미지가 작아서 정확한 에러 메시지를 확인하기가 어렵지만, 말씀하신 내용으로만 판단해서 답변드립니다.

먼저, /etc/prometheus/prometheus.yml 파일을 지정하는 부분은 Host PC(윈도우 또는 맥OS)의 prometheus.yml 파일이라는 설정 파일을 docker container로 기동되는 prometheus 서버에 복사되는 위치입니다. 따라서 /etc/prometheus/prometheus.yml 로 지정되지 않았다는 것은 복사에 문제가 있었다는 것인데, 이것은 이미지의 문제일지, 지정하신 볼륨마운트의 문제인지를 확인해 봐야할 것 같습니다. 

/etc/prometheus/prometheus.yml 에서 prometheus를 빼고, /etc/prometheus.yml 로 복사가 되었다는 것은 말 그대로, Prometheus가 Docker 컨테이너로 기동될 때, 해당 위치(/etc/prometheus.yml)에 Host PD의 설정 파일이 복사되었다는 의미입니다. 그러나, 설정 파일로 사용되지는 않습니다. prom/prometheus 이미지에서는 /etc/promethues/promethues.yml 파일을 설정 파일로 사용하기 때문에, Host PC에서 설정한 내용으로는 실행되지 않습니다.

docker exec -it [컨테이너_ID 또는 컨테이너 이름] sh

위 명령어를 실행하셔서, 해당 위치(/etc/ 디렉토리)에 Host PC의 설정 파일과 같은 내용의 파일이 존재하는가 확인해 보시기 바랍니다. 만약 정상적으로 복사가 되었다면, 볼륨마운트에는 문제가 없다고 생각되며, 이미지의 문제이거나, 파일 자체에 대한 문제(encoding 등)로 인해 복사가 되지 않은 것 같습니다. 제가 공유한 github repository의 파일로 바꿔서 진행해 보시기 바랍니다. 그리고, /et/prometheus 디렉토리에도 prometheus.yml 파일이 있는가 확인해 보시기 바랍니다. 이것은 원래 기본 Prometheus 서버의 설정 파일입니다. 이 파일을 강의에서 사용한 내용으로 변경해서 실행해 보셔도 됩니다.

위 내용을 확인해 보시고, 추가 문의사항 있으시면 다시 글 남겨 주세요. 

감사합니다. 

최준성님의 프로필 이미지
최준성

작성한 질문수

질문하기