Embedded/RaspberryPI

[MQTT] Raspberry Pi에서 Grafana Dashboard 생성해 보기

변화의 물결1 2024. 1. 11. 00:05

 

 

안녕하세요.

 

 이제 MQTT 전달로 전달한 데이터를 InfluxDB로 저장까지 했다면 결과 값을 멋있게 보이게 하는 것이 남아있습니다. 그것을 하기 위해서는 이전 내용에서 Grafana를 이미 설치하였습니다.

 

 

[MQTT] CM4 RaspberryPi 에 Grafana 설치

안녕하세요. MQTT 연동을 위해서 InfluxDB를 설치할 때처럼 공식적인 저장소에서 설치패키지를 다운로드하여서 설치를 진행하도록 해보겠습니다. 1. Grafana 다운로드 - RaspberryPi에 GPG key를 추가합니

remnant24c1.tistory.com

 

그리고 값을 확인하기 위해서 mosquitto, influxdb, Node-RED가 작동하고 있어야 합니다.


 

1. Grafana 연결

 

 - Grafana를 설치한 Raspberry Pi IP 주소와 기본 포트(3000)로 접속하면 로그인하라고 창이 나타납니다.

 

 

 

2. DataSource 연결하기

  

- DB와 연동하기 위해서 메인화면에 있는 DATA SOURCES를 클릭합니다.

 

 

- Add data source에서 InfluxDB를 더블 클릭합니다. 만약 다른 DB나 Cloud를 사용한다면 검색을 해서 선택하면 됩니다.

 

  

- 테스트하기 위해서 기본 설정은 그대로 두고, Name, URL과 InfluxDB Detail 항목에서 정보를 추가해 줍니다. 그리고 Save & test 누릅니다.

 

  

- 정상적으로 접속이 되면 시각화가 가능하다고 팝업창이 하나 나타납니다.

 

  

 

3. Dashboard 생성하기

 

 - 상단의  Home을 눌러서 화면을 이동합니다. 그리고 “Create your first dashboard”를 선택 새로운 Dashboard 생성작업을 진행합니다.

 

 

- “Add visualization” 버튼을 클릭해서 Dashboard 생성 작업을 시작합니다.

 

 

- Select data source에서 앞에서 생성한 InfluxDB source를 선택합니다.

 

 

  

- DB Source를 선택했다면, Panel을 생성할 수 있는 창이 나타납니다. 에러메시지도 나타날 수 있는데 테이블이 선택하지 않았기 때문입니다. 그래서 Table을 선택하면 사라집니다.

 

 

 - 먼저 하단의 FROM 항목에서 select measurement를 선택해서 Sensors Database에 들어있는 Table 중 시각화하려는 Table을 선택합니다.

 

 

 - 데이터가 있는데 No data라고 나타날 수 있는데 이것은 나타날 데이터의 범위가 너무 짧게 된 경우가 그럴 수 있으니 MQTT로 받은 시간을 확인하여 범위를 지정해 주면 데이터를 시각화된 데이터를 볼 수 있습니다.

 

 

 - 측면에서 Panel options에서 Title을 센서의 이름으로 바꿉니다. Panel options 위쪽에 Time series 되어 있는 콤보박스를 누르면 Visualizations 탭을 볼 수 있으며 여기서 원하는 형태의 차트를 선택합니다. (Grafana 버전에 따라서 Tab, Combobox 위치가 다를 수 있습니다.)

 

 

 

 - Gauge Chart를 선택을 하고 Min, Max, Thresholds 등을 값을 변경하여 세부내용들을 변경합니다.

 

 

 

 - 오른쪽 상단의 Appy를 눌러 적용합니다. 그리고 필요하다면 Panel을 하나 더 생성할 수 있으면 저장을 해서 Dashboard를 최종 생성할 수 있습니다.

 

 

 

 - 간단하게 하나 더 패널을 생성해 봅니다.  “Add->Visualization”, Time series를 선택한 후 필요한 설정을 한 후 Apply를 누릅니다. (예를 들어, 연결선 스타일(Line style), Point size 등) 참고로, 하단 Add query를 눌러 여러 개의 Table을 동시에 비교할 수 있게 나타낼 수도 있습니다.

 

- 오른쪽 끝의 저장 버튼을 눌러 새로 만들 Dashboard 정보를 입력합니다.

 

 

 - Dashboard Title 명과 성명을 넣고 Save를 누릅니다.

 

 

 - Panel 위치를 변경할 수 있는 Dashboard를 확인할 수 있습니다.

 

 

 

 - Home으로 이동한 후 다시 Dashboard로 이동하려면, 왼쪽 상단의 햄버거 버튼을 누른 후 Dashboard를 누르면 생성했던 Dashboard Title을 볼 수 있습니다. 타이틀을 클릭하면 생성했던 Dashboard 화면으로 이동하는 것을 확인할 수 있습니다.

 

 

 

4. 최종 데이터 데이터 확인

 

 - MQTT Explorer(가상 데이터)를 이용해서 보내면 게이지 Panel은 받은 시점의 값을 보여주고 선형 그래프는 시간 간격별로  흐름을 볼 수가 있습니다.

 

 

 

 - 현장에서 사용하고자 한다면, Docker 작업, DB 최적화, 데이터 백업, Fail over 처리 등 추가작업을 해주어야 하지 않을까 합니다.

 

감사합니다.

 

 

<참고 사이트>

1. SuperHouse #41: Datalogging with MQTT, Node-RED, InfluxDB, and Grafana

https://www.youtube.com/watch?v=ffg3_1AgtyA

 

 

반응형