본문 바로가기

IT/IoT

[HA] Grafana를 통한 센서 값(InfluxDB) 그래프 그리기

반응형

HA의 센서들의 값을 InfluxDB에 저장하면 Grafana를 통해 시각화할 수 있습니다.

먼저 HA의 센서 값을 InfluxDB에 저장하는 것은 아래 링크에서 확인 가능합니다.

2019/12/05 - [IT/IoT] - [HA] 센서 값을 시계열 DB(InfluxDB)에 저장하기

 

[HA] 센서 값을 시계열 DB(InfluxDB)에 저장하기

HA에 추가된 다양한 센서의 값들을 시계열 DB(Time Series Database)에 저장할 수 있습니다. 시계열 DB는 시시각각 변하는 센서 값 등을 저장할 때 유용합니다. InfluxDB나 Prometheus 등이 시계열 DB로 아래와 같..

psychoria.tistory.com

Grafana는 다양한 형식으로 InfluxDB의 값들을 시각화할 수 있습니다.

Grafana

또한 센서의 값을 기준으로 경고 등을 제공하는 기능도 포함하고 있습니다.

Grafana는 Docker로 제공되는 공식 이미지를 사용해서 설치가 가능합니다.

먼저 데이터를 저장할 디렉터리를 생성하고 권한을 부여합니다.

sudo mkdir -p /data/grafana
sudo chmod -R 777 /data/grafana

아래 명령어로 Grafana 컨테이너를 생성합니다.

sudo docker run -d \
--name=grafana \
--restart=unless-stopped \
-p 3000:3000 \
-v /data/grafana:/var/lib/grafana \
grafana/grafana

정상적으로 컨테이너가 실행되면 IP주소:3000 형식으로 접속이 가능합니다.

Grafana

기본 계정 정보는 admin // admin으로 설정되어 있습니다.

비밀번호 설정

시작하기 전에 새로운 비밀번호를 입력해서 설정합니다.

Home Dashboard

화면에 보이는 순서대로 설정을 진행하면 됩니다.

먼저 Install Grafana 옆에 보이는 Add data source를 클릭합니다.

Add data source

InfluxDB와 연동하기 위해 목록의 InfluxDB를 선택하고 Select 버튼을 누릅니다.

DB 설정

URL은 동일한 서버에 InfluxDB와 Grafana를 설치한 경우 http://localhost:8086으로 입력하면 됩니다.

Database 부분은 InfluxDB에서 생성한 이름과 동일하게 입력합니다.

아래로 스크롤하면 보이는 Save & Test 버튼을 클릭하면 Data source가 추가됩니다.

New dashboard

이제 New dashboard를 눌러서 새로운 대시보드를 생성합니다.

쿼리 추가

HA에서 추가했던 센서 값들을 WHERE 부분 뒤에서 설정할 수 있습니다.

먼저 friendly_name을 선택하고 원하는 센서 값(여기서는 Bedroom Desktop)을 입력합니다.

FROM의 default 다음 부분이 선택 가능해지는데 값(switch.bedroom_desktop)을 선택하면 됩니다.

다음으로 SELECT의 field에서 원하는 값을 선택하면 됩니다.

이 부분은 HA의 각 엔티티의 Attributes 중 하나를 선택할 수 있습니다.

그리고 fill(null) 부분은 previous로 변경해서 값이 없는 경우 이전 값으로 이어지게 합니다.

fill(null)과 fill(previous)의 차이는 변경해보면 쉽게 알 수 있습니다.

마지막으로 ALIAS BY 부분에 식별하기 쉬운 이름을 붙여줍니다.

그래프 하단 우측 부분의 Add Query를 누르면 원하는 만큼 쿼리를 추가할 수 있습니다.

마지막으로 하단의 Relative time 값을 1d (1일) 정도로 설정하면 간단한 설정이 완료됩니다.

Visualization

다음은 시각화 설정으로 원하는 형태로 보이도록 수정하면 됩니다.

타이틀 설정

해당 패널의 타이틀을 설정하고 좌측 상단의 뒤로 가기 버튼을 누르면 설정이 완료됩니다.

설정 완료

우측 상단에 보이는 저장 버튼(💾)을 누르면 변경된 대시보드를 저장할 수 있습니다.

대시보드의 이름 변경은 우측 상단의 설정(⚙) 메뉴에서 가능합니다.

마지막으로 admin 계정을 다른 계정으로 변경하기 위해 좌측 하단의 아이콘을 클릭합니다.

Preferences

Preferences 메뉴를 실행해서 admin계정의 Profile을 변경합니다.

Edit Profile

적당한 Username과 Email 등을 입력하고 저장합니다.

Grafana는 그래프 뿐만 아니라 바 형태나 게이지 등 다양한 형태를 제공합니다.

센서의 값에 맞는 형태를 사용해서 대시보드를 꾸며주면 Grafana 설정이 완료됩니다.

 

반응형