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

득이님의 프로필 이미지

작성한 질문수

따라하며 배우는 MySQL on Docker

Grafana Container 구성 및 Dashboard 만들기

grafana에서 prometheus의 데이터를 받아오지 못합니다.

해결된 질문

21.08.10 15:12 작성

·

757

0

prometheus에서 up을 검색했을 때 데이터가 출력된다면, exporters가 실행되면서 데이터를 얻어온다는 말 아닌가요?

제가 이해한 프로세스는 exporters로 데이터 로그 추출 -> prometheus에서 추출한 로그 저장 -> grafana에서 prometheus에 저장된 로그 시각화

입니다. 따라서, prometheus에서 검색할 수 있다면 grafana에서도 시각화할 수 있어야 한다고 생각하는데, 잘 되지 않습니다.

host os는 ubuntu:20.04입니다.

dashboard는

https://github.com/percona/grafana-dashboards/blob/master/dashboards/MySQL_Overview.json

에서 받아와 사용했습니다.

혹시 제가 오타나 잘못한 부분이 있을까봐 처음부터 다시 해봤는데도 같은 증상이라 질문 올립니다. ㅜ.ㅜ

답변 2

1

김영헌님의 프로필 이미지
김영헌
지식공유자

2021. 08. 10. 16:05

안녕하세요.

위에 첨부해 주신 이미지를 보면 prometheus에서 up으로 데이터를 조회했을때.

db001은 value가 1이므로 정상적으로 데이터 수집이 되는 상태인 거 같구요.

db002와 db003은 value가 0으로 나타나는 것을 보니 정상적으로 수집이 안되는 거 같습니다.

grafana에서 db001도 그래프가 나오지 않나요?

득이님의 프로필 이미지
득이
질문자

2021. 08. 10. 16:08

아 넵 connection을 비롯해서 다른 곳에서도 db001의 그래프도 확인할 수가 없습니다.

김영헌님의 프로필 이미지
김영헌
지식공유자

2021. 08. 10. 16:11

그렇다면 grafana에서  data source로 prometheus를 등록할때 sav&test 버튼 클릭 시에 별다른 에러는 없었나요?

득이님의 프로필 이미지
득이
질문자

2021. 08. 10. 16:16

넵 다른 에러는 발생하지 않았고, 체크표시와 함께 data source ia working 메세지가 나타났습니다

득이님의 프로필 이미지
득이
질문자

2021. 08. 10. 16:26

거기에 더해 그래프에서는 db002, db003의 up 내용이 1로 찍힌 부분이 존재하는데 table에서는 0으로 찍히는 이유가 궁금합니다!

김영헌님의 프로필 이미지
김영헌
지식공유자

2021. 08. 10. 16:29

위에서 말씀드린 것 처럼 일단 현재 상태를 보면 db001은 2개의 exporter가 모두 정상적으로 수행되고 있고 데이터 수집도 되는 상태인 것 같습니다.

db002, 003은 체크가 필요할 거 같애요, 'up' 값이 일단 1로 나와야 정상적인 상태입니다.

db001의 데이터가 잘 수집되는 상태이고 data source 등록 시에도 별다른 문제가 없었다면 당연히 grafana에서도 db001은 그래프가 정상적으로 나타나야 할 거 같은데요.

보통 이런 문제들은 container간에 적절한 port로 통신을 못해서 발생하는 경우라서.

db constainer <- prometheus 9100, 9104 port

prometheus <- grafana 9090 port

아래와 같이 각 container에 접속해서 port가 open됐는지 한번 확인해 보시겠어요?

prometheus container에서

# docker exec -it -uroot prom001 /bin/sh

/prometheus # nc -z -v db001 9100

db001 (172.19.0.2:9100) open

/prometheus # nc -z -v db001 9104

db001 (172.19.0.2:9104) open

grafana container에서

# docker exec -it -uroot grafana /bin/sh

/usr/share/grafana # nc -z -v prom001 9090

prom001 (172.19.0.6:9090) open 

0

득이님의 프로필 이미지
득이
질문자

2021. 08. 13. 13:36

확인해 보니, prometheus에서 둘 다 open이 안 되길래 처음부터 다시 진행해 봤더니 이번엔 9014는 열립니다! 현재 node_extractor를 실행하면 prometheus에서 한 1초 동안은 1이 뜨다가 바로 0으로 내려가는데 같은 이유인가요? 아니면 node_extractor를 실행할 때 마지막에 발생하는 permission denied error 때문일까요? 첨부된 사진의 윗부분은 node_extractor를 실행했을 때 생긴 에러, 중간은 prometheus의 port 확인, 하단은 grafana의 port를 확인한 정보입니다.

김영헌님의 프로필 이미지
김영헌
지식공유자

2021. 08. 13. 17:24

안녕하세요.

해당 container에서 node_exporter가 제대로 기동되지 못하는 거 같습니다.

상태를 봐서는 떴다가 바고 죽는 상황인거 같구요. 

제일 아래에 나타난 메세지가 원인으로 보입니다.

아래 url의 article이 위 문제와 연관된 내용으로 보이구요.
https://github.com/prometheus/node_exporter/issues/1892

해당 article에서 guide하는 바로는 "--no-collector.rapl" 옵션을 사용해서 node_exporter를

기동하라는 것 같습니다.

해당 container에서 "start_node_exporter.sh"의 파일 내용을 아래와 같이 수정하고 

다시 기동해 보시겠어요?

      nohup /opt/exporters/node_exporter/node_exporter --no-collector.rapl &

득이님의 프로필 이미지
득이
질문자

2021. 08. 15. 13:14

와...드디어 해결됐네요 ㅋㅋㅋ ㅠㅠ 정말 감사합니다!!!

김영헌님의 프로필 이미지
김영헌
지식공유자

2021. 08. 15. 17:55

잘 된다니 다행이네요. ^^

득이님의 프로필 이미지

작성한 질문수

질문하기