ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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란?

    출처 - https://prometheus.io/docs/introduction/overview/

    • 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

    반응형

    댓글

Designed by Tistory.