目次
前編
- はじめに
- Grafanaとは
- システム構成
- サンプルフロー
- まとめ
後編
はじめに
この記事は、enebularで収集・蓄積したIoTのデータを、データ可視化ツールのGrafanaで可視化する方法の紹介の後編です。後編では、いよいよGrafanaを使ってデータの可視化を行います。
前編では、enebular(Node-RED)を利用してPostgreSQLにデータを蓄積する手順を確認しました。
前編を実行していなくても、PostgreSQL(やMySQLなどのデータベース)に蓄積されたデータがある方には、Grafanaでの可視化の手順は参考になるかもしれません。
Grafanaのデプロイ
前編でも書きましたが、GrafanaはDockerコンテナになっています。
これをそのまま、Herokuにデプロイできれば良いのですが、ちょっとした工夫が必要です。その手間を省いてくれている方がいました。
「さくっとGrafana on Heroku」(ユニファ開発者ブログ)
感謝感激ですね。ありがとうございます>ユニファ開発者ブログ!
それでは、このHeroku Deployボタンをそのまま利用させていただきます。
このボタンを押すと、以下のような画面が表示されます。

“App name”に好きなアプリ名を入力して、”Deploy app”ボタンを押してください。GrafanaがHerokuにデプロイされます。
デプロイが成功すると、下の図のように”View”ボタンが表示されますので、クリックしてください。
ブラウザに新しいタブが開いて、Grafanaの画面が表示されます。

Grafanaログイン画面

Grafanaによるデータの可視化
いよいよ、Herokuの上でGrafanaが動き始めましたので、Postgresのデータを表示してみましょう。
手順は以下のようになります。
これだけです。簡単そうですね!
では、順番に手順を見ていきましょう。
Grafanaにログインする
Grafanaにログインします。
“Email or username”、”Password”の入力が必要です。それぞれ、”admin”、”admin”と入力してください。
この手順は、先ほどの「さくっとGrafana on Heroku」のソースコードがあるgithub.comのREADME.mdに記載されています。
ログインすると、すぐに新しいパスワードの入力を要求されますので、新しいパスワードを設定してください(スキップできますが、しないでくださいね〜〜!)。
GrafanaをPostgresに接続する
では、GrafanaをPostgreSQLに接続します。
まずは、設定画面に入りましょう。
ログイン直後の画面の左側にメニューがあります。Configuration > DataSourceと選択してください(下図)。

“Add data source”というボタンが表示されるのでクリックしてください。

データソースの一覧が表示されますね。その中からPostgreSQLを選択します。

PostgreSQLの設定画面が表示されます。
ここで、前編の”フローを設定する”でメモしておいたHost、Database、User、Port、Passwordを入力します。
“TLS/SSL Mode”は”require”に設定してください。

さらに、画面下の方のPostgreSQLバージョンを”12″にします(2021年4月時点では、素直にHeroku Postgresを利用するとバージョンが12.6のようです)。

入力が終わったら、”Save & Test”のボタンを押してみて、エラーがなければ接続成功です(エラーがなければ、”Database Connection OK”の文字が表示されます)。
Grafanaのダッシュボード上でPostgresのデータをグラフ化する
データベースへの接続ができましたので、ダッシュボードを作成してグラフを可視化しましょう。
まずは、メニューからDashboard > Manageと選択します(下図)。

“New Dashboard”ボタンをクリックします。

“Add an empty panel”をクリックします。

下の図のような編集用の画面が表示されます。
下側のQueryタブで、表示するデータを編集できます。

FROM、Time column、SELECTを下図の通りに入力してください。他の箇所は変更の必要はありません。
- FROM … memory_usage
- Time column … ts
- SELECT … Column:freemem, Column:totalmem, Column:memusage
SELECTの行数を増やす場合は、”+”ボタンを押して、Columnを選んでください。
値を入力する際には、GrafanaがPostgreSQLを読んで、候補の値を示してくれますので、クリックしているだけで設定ができるはずです。簡単ですね。
グラフが表示されたでしょうか?

データを表示する日付の範囲は、下の図の線で囲んだ箇所を編集することで調整できます。

画面右上の”Apply”ボタンを押すと、設定が適用されて下図の画面になります。
この時点では、まだ保存されていませんので”Save”ボタンを押します。フロッピーディスクの形をしたアイコンが”Save”ボタンです。

ダッシュボードの名前を入力するように促されますので、好きな名前を入力してください。
ここでは、デフォルトの”New Dashboard Copy”のままSaveしています。

これでダッシュボードが保存されました。
Home画面に戻ると、”New Dashboard Copy”がちゃんと表示されていますね。

まとめ
以上で、「enebularとGrafanaでIoTのデータを可視化する方法」は終わりです。いかがだったでしょうか?
想像より簡単だったと感じてもらえれば幸いです。
この記事を応用して、いろいろなデータの収集・蓄積・可視化にチャレンジして見てくださいね!