Inflearn Community Q&A
grafana에서 prometheus의 데이터를 받아오지 못합니다.
Resolved
Written on
·
1K
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
에서 받아와 사용했습니다.
혹시 제가 오타나 잘못한 부분이 있을까봐 처음부터 다시 해봤는데도 같은 증상이라 질문 올립니다. ㅜ.ㅜ
Quiz
모니터링을 위해 기본 MySQL 이미지 대신 사용자 정의 Docker 이미지를 사용하는 주된 이유는 무엇인가요?
기본 이미지가 너무 커서 용량 절감이 필요하기 때문입니다.
모니터링에 필요한 Exporter들이 포함되어 있지 않기 때문입니다.
MySQL 데이터베이스의 보안 설정을 강화하기 위해서입니다.
사용자 정의 네트워크 설정을 적용하기 위해서입니다.
Answer 2
1
안녕하세요.
위에 첨부해 주신 이미지를 보면 prometheus에서 up으로 데이터를 조회했을때.
db001은 value가 1이므로 정상적으로 데이터 수집이 되는 상태인 거 같구요.
db002와 db003은 value가 0으로 나타나는 것을 보니 정상적으로 수집이 안되는 거 같습니다.
grafana에서 db001도 그래프가 나오지 않나요?
위에서 말씀드린 것 처럼 일단 현재 상태를 보면 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

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





거기에 더해 그래프에서는 db002, db003의 up 내용이 1로 찍힌 부분이 존재하는데 table에서는 0으로 찍히는 이유가 궁금합니다!
와...드디어 해결됐네요 ㅋㅋㅋ ㅠㅠ 정말 감사합니다!!!
아 넵 connection을 비롯해서 다른 곳에서도 db001의 그래프도 확인할 수가 없습니다.