目次

はじめに

今回は“INKBIRDから取得した温度・湿度データをInfluxDBに記録する”でInfluxDBに取り込んだ温度・湿度データをGrafanaでモニターしてみます。なお、INKBIRDのセンサー値をInfluxDBに保存する部分については“INKBIRDから取得した温度・湿度データをInfluxDBに記録する”で記載していますので、ここでは説明を省きます。

全体構成

システム全体の構成を下記に記載します。

INKBIRD
ITH-12S
INKBIRD...
INKBIRD
IBS-TH2
INKBIRD...
Container
InfluxDB
v.1.8.10
InfluxDB...
Chronograf
v.1.8.10
Chronograf...
Ubuntu20.04LTS
(wsl2)
Ubuntu20.0...
Grafana-OSS
v.8.5.15
Grafana-OSS...
Bluetooth LE
Bluetooth LE
Bluetooth LE
Bluetooth LE
Python Script
Python Script
Windows 10 Pro
Windows 10 Pro
定期実行
定期実行
Viewer does not support full SVG 1.1
図: システム全体構成

  • 今回は Windows PCのUbuntu20.04 にインストールしたdockerを使い、grafanaとinfluxdbとchronografコンテナを起動します。
  • Windows PC上のpythonで作成したスクリプトをWindowsのタスクスケジューラから定期的に起動し、INKBIRDのBluetooth温度湿度計からデータを取得し、influxdbにデータを登録します。
  • grafanaコンテナでinfluxdbに登録されたデータをグラフ表示させます。

コンテナの作成

docker-compose.ymlの作成

コンテナの起動

コンテナを起動するためdocker-compose upを実行します。するとgrafana-oss、influxdb、chronografコンテナのログが表示されます。ここでエラーが発生してコンテナが停止してしまう場合は、エラーメッセージを確認し対応します。

$ docker-compose up
<省略>

そして、ブラウザでhttp://localhost:3000/ にアクセスして、grafanaのログイン画面が表示されることを確認します。確認できれば、Ctrl+Cでコンテナを停止した後、docker-compose up -dとして起動しなおします。

$ docker-compose up -d
<省略>

GrafanaにInfluxDBのデータを表示させる

Grafanaのadminパスワードを設定する

再度ブラウザでhttp://localhost:3000/にアクセスするとログイン画面が表示されるので、ユーザ名admin、パスワードadminでログインします。ログインするとパスワードの変更画面が表示されるので、パスワードを変更します。

GrafanaのデータソースにInfluxDBを登録する

  1. 左側メニュから[Configure]>[Data sources]を選択します。

    データソースの設定

  2. 表示されたページの右上にある[Add data source]ボタンを押し、表示されたメニューからInfulxDBを選択します。

    InfluxDBの選択

  3. InfluxDBの設定メニューが表示されるので、IfluxDBに設定した情報を入力します。

    InfluxDBの設定(1)

    InfluxDBの設定(2)

  4. [Save & test]ボタンを押します。“Data source is workind"と表示されることを確認します。表示されない場合、設定内容に間違いがないか確認します。

    設定の保存とテスト

Dashboardを作成する

  1. [Create]>[Dashboard]を選択します。

    ダッシュボードの作成

  2. [Add a new panel]をクリックします。

    パネルの追加

  3. Query欄でInfuxDBから表示するデータを指定します。そして、右側の各グラフ設定メニューを設定し、[Apply]ボタンを押します。

    パネルの設定

  4. 上記を繰り返し最終的に下記のようなダッシュボードを作成しました。

    設定後のダッシュボード

最後に

今回はGrafanaにInfluxDBを連携させ、Inkbirdの温度・湿度データを表示するダッシュボードを作成しました。 Grafanaはアラートの設定ができます。アラートの一例としてGmailにメールを送信する設定をしてみようと思います。