-
[Prometheus] Prometheus와 Grafana 연동하고 Node_exporter 대쉬보드 만들기, Grafana Dashboard(데이터 엔지니어링/Prometheus 2022. 12. 19. 21:11반응형
목차
- Grafana란?
- Grafana 설치하기
- Grafana 시작하기
- Grafana 접속
- Grafana Data Source 만들기
- Grafana Dashboard 만들기
- Grafana Dashboard(= Template) 사용하기
Grafana란?
- Grafana Lab에서 제공하는 오픈소스 데이터 시각화/모니터링 툴입니다. 보통 모니터링 툴로 사용한다고 합니다. BI 툴은 더 좋은 게 많으니깐요.
- 홈페이지 접속하시면 다양한 정보가 있습니다.
- Grafana는 데이터를 이관해서 사용하는 것이 아닌 데이터를 그 때 당시에 조회를 해서 시각화해주므로 성능이 좋습니다.
- 그래서 확장성이 좋으며 지원하는 Datasource도 꽤 있고, Plugins, 접근제어, Alert 같은 기능도 구현되어있어 모니터링 툴로는 사용하기 좋은 것 같습니다.
Grafana 설치하기
공식문서에 나온대로 Linux환경에서 설치
sudo apt-get install -y adduser libfontconfig1 wget https://dl.grafana.com/enterprise/release/grafana-enterprise_9.3.2_amd64.deb sudo dpkg -i grafana-enterprise_9.3.2_amd64.deb
Grafana 시작하기
Background에서 실행되도록 설정 및 아래 명령어 실행 Status에 Running이 표시되었다면 정상 실행된 것입니다.
sudo systemctl daemon-reload sudo systemctl start grafana-server sudo systemctl enable grafana-server.service sudo systemctl status grafana-server
hsjoo@hsjoo-VirtualBox:~$ sudo systemctl status grafana-server ● grafana-server.service - Grafana instance Loaded: loaded (/lib/systemd/system/grafana-server.service; enabled; vend> Active: active (running) since Fri 2022-12-16 13:18:40 KST; 3min 47s ago Docs: <http://docs.grafana.org> Main PID: 3079 (grafana-server) Tasks: 17 (limit: 3493) Memory: 123.6M CPU: 4.675s CGroup: /system.slice/grafana-server.service └─3079 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini>
Grafana 접속
http://localhost:3000/ 로 들어가면 Grafana 접속 초기 id : admin, pw : admin 이며 접속 후에 비밀번호 재설정 페이지 나오니 참고하시면 될 것 같삽니다. 그렇게 들어가면 홈페이지 확인 가능
Grafana Data Source 만들기
아래 맨처음 화면 Grafana는 데이터를 불러와서 Dashboard를 만드는 것이니 먼저 Data Source를 만들고 Dashboard를 만들어야 합니다. 가운데 보이는 Basic - Data Sources를 클릭하거나 왼쪽 안에 있는 설정에서 Data Sources를 클릭하여 만들면 됩니다.
많은 소스를 연결할 수 있는데 Prometheus 만들 것이라 Prometheus 클릭 , 자신의 Prometheus서버 URL 입력 후 SAVE 하면 기본적인 연결은 완료됩니다. 나머지 옵션은 차차 알아보는 것으로 하겠습니다.
Grafana Dashboard 만들기
왼쪽 대시보드 에서 New - New Dashboard 클릭 오른쪽에 Add Panel 클릭 전체 화면은 맨 오른쪽 이미지와 같습니다.
왼쪽은 데이터 소스 선택하는 곳 오른쪽은 Chart 종류 선택왼쪽은 데이터소스에 metric 날리는 조건 설정, 오른쪽은 Chart 세부 내용 설정하는 곳
다 만들고 나서 오른쪽 상단에 Apply를 누르면 대시보드에 추가된 것을 볼 수 있습니다. 이렇게 하면 Pannel이 만들어지고 DashBoard로 저장하면 Dashboard 탭에서 저장한 내용이 보일 것입니다.
Grafana Dashboard(= Template) 사용하기
Grafana Dashboard를 먼저 사람들이 만들어 놓은 템플릿들이 있습니다. 이것을 가져다 사용하면 됩니다. 구글에 Grafana dashboard를 검색 또는 이 페이지로 들어가 보면 서칭바가 존재하며 template 목록을 한눈에 볼 수 있습니다. Node_exporter Dashboard를 만들 것이라 위에 서칭 바에서 서칭 Node Exporter for Prometheus Dashboard Based on 11074 클릭
download json 클릭하면 template이 json형식으로 내려받거나 , ID 번호를 입력해서 하는 방법도 있습니다. 저는 json으로 하려 규하여 json다운로드다시 Grafana로 돌아와서 +import 를 누르면 Template import 하는 화면이 나옵니다. Json으로 Template을 만들고 싶다면 Json File을 업로드하고 오른쪽 그림처럼 Prometheus를 설정하면 됩니다. import 버튼을 누르면 import 완료
Dashboard에서 목록이 추가된 것을 확인 할 수 있으며, Dashboard를 들어가 보면 node_exporter로 제공되는 node의 ip주소 및 사용량의 대한 정보가 DashBoard형태로 나오게 됩니다.
마치며
클라우드에서 Monitor를 지원하는 경우가 많은데 OpenSource로 Monitoring을 손쉽게 할 수 있는 것 같아 좋은 프로젝트인 것 같습니다. 커스텀하게 Dashboard를 구현할 수 있지만, 그만큼 기능이 많아 능숙하게 조작하려면 연습이 필요할 것 같습니다.
참고문헌
https://grafana.com/grafana/download
https://grafana.com/docs/grafana/v9.0/setup-grafana/installation/debian/#2-start-the-server반응형'데이터 엔지니어링 > Prometheus' 카테고리의 다른 글
[Prometheus 개념] Jobs, Instances, Group에 대해 알아보기 (0) 2022.12.21 [Prometheus 개념] Metric Type 과 Label에 대해 알아보고 Custom Exporter(=Client Library with python)작성하여 값 받아보기 (0) 2022.12.21 [Prometheus] 다른서버에 exporter를 설치하고 Prometheus서버에 연결해보기 (0) 2022.12.19 [Prometheus] Prometheus 설치하고 간단하게 사용법 알아보기(with Ubuntu) (0) 2022.12.19 [Prometheus] Prometheus란 무엇인가 (0) 2022.12.18