Field Magicの導入レシピ記事で、水位や温度のグラフを表示する画面として見かける「Grafana」について、本記事ではその基本(何であるか、どんな仕組みか、何が得意で何が苦手か)を解説したうえで、Field Magicの中で実際にどう使われているかを紹介します。
Grafanaとは何か
Grafanaは、蓄積されたデータをダッシュボード上でグラフ・チャートとして表示する、オープンソースのデータ可視化ツールです。時系列データ(時刻とともに変化する値の記録)の表示に特に強みを持ちます。
2014年、スウェーデン出身のエンジニアが、ログ分析ツールKibanaを元に開発しました。Kibanaはログ分析に特化しており、時系列データのグラフ表示には向いていませんでした。これを派生させて、グラフ表示に特化して作られたのがGrafanaです。名前の「Grafana」は、グラフ(Graph)とKibanaの語尾を組み合わせた造語です。同年、開発元としてGrafana Labs社が設立されています。
無償で使えるオープンソース版に加えて、追加機能を持つEnterprise版や、自社でサーバーを持たずに使えるクラウド版(Grafana Cloud)も提供されています。
基本的な仕組み — データソース・ダッシュボード・パネル


Grafanaの操作は、大きく3つの要素で成り立っています。
データソース
Grafanaが参照するデータの接続先です。Grafana自体はデータを保存する機能を持たないため、時系列データベース(Prometheus、InfluxDB等)や、一般的なリレーショナルデータベース(MySQL、PostgreSQL等)など、別途用意したデータの保存先と接続して使います。30種類以上のデータソースに対応しています。
ダッシュボード
1つの画面にまとめられた、複数のグラフ・表の集合です。用途ごとにダッシュボードを分けて作成できます。
パネル
ダッシュボードを構成する、個々のグラフや表です。データソースへの問い合わせ(クエリ)を設定し、その結果をグラフ・数値・表など、複数の見せ方から選んで表示します。
メリットと、向き・不向き

Grafanaが評価されている点は、主に次の3つです。
柔軟なダッシュボード
パネルの種類・レイアウトを自由に組み合わせて、用途に応じた画面を作成できます。
豊富なデータソース対応
特定のデータベース専用ではなく、多様なデータソースに同じ操作感で接続できます。
時系列データの表示に強い
もともと時系列データのグラフ表示に特化して開発された経緯があり、時間の経過に伴う値の変化を見せることを得意とします。
一方で、Grafana単体ではデータを保存できないため、別途データを収集・蓄積する仕組みが必要です。この仕組みを持たない場合は、データベースの選定・構築から着手する必要があります。また、細かなアクセス権限管理や、高度なアラート通知の管理体制は、無償版よりEnterprise版・クラウド版の方が充実しています。
似たツールとの違い
ログ分析ツールのKibanaとは、開発の経緯からも近い関係にあり、データベースに問い合わせてダッシュボードで可視化するという基本的な発想は共通しています。ただしKibanaはElasticsearchでのログ分析に軸足を置くのに対し、Grafanaは特定のデータベースに縛られず、時系列データのグラフ表示に軸足を置いている点が異なります。
Excel・スプレッドシートやBIツールとの違いは、データの取得先に定期的に問い合わせ、ほぼリアルタイムに近い状態でダッシュボードを更新し続けられる点にあります。手作業でデータを取り込んで集計するのではなく、稼働中のシステムの「今」を継続的に見せる用途に向いています。
Field Magic以外での活用例
Grafanaは、IT基盤の監視だけでなく、製造業の設備監視にも使われています。
IIJ Engineers Blogで紹介されている事例では、振動センサーを用いた設備監視ダッシュボードにGrafanaを採用し、ISO規格に基づくしきい値を設定して異常を検知する仕組みを構築しています。しきい値を境に状態を判定するという考え方は、導入レシピ記事の「離れた貯水槽のポンプを無線を使って自動制御する – 連動制御編」の内容とも重なります。
このほか、電源管理システムのデータ可視化にGrafanaとNoSQLデータベースを組み合わせた事例や、MQTT経由で受信した産業機器のセンサーデータ(電圧・周波数等)をGrafana Cloudで可視化する手順を紹介する記事もあり、産業機器のデータ可視化にGrafanaを使う例は他にも見られます。
Field MagicでのGrafana
Field Magicでは、蓄積したセンサーデータの可視化にGrafanaを採用しています。親機の中は3つの層に分かれており(詳しくは「親機のソフトウェア構造」を参照)、GrafanaはUI層の一部として、スケジュールアプリ・マップアプリと並ぶ「蓄積データの閲覧」を担います。
Field Magic親機のソフトウェア構造
一般的なGrafanaの利用例は、サーバーやクラウドインフラの運用監視(CPU使用率、アプリケーションの応答時間など)が中心です。Field Magicでは対象が異なり、水位・電力量・環境データ(温度・湿度)など、産業・設備現場のセンサーデータを表示する用途にGrafanaを使っています。
データの流れとしては、子機(入出力ユニット)から取得した値を、Node-REDの制御を経て時系列データベース(TimescaleDB)に保存し、Grafanaがこのデータベースを参照してグラフを描画します。データの取得から保存、可視化までが親機1台の中で完結し、外部のクラウドサービスは使いません。

実際の設定例を見る
Field Magicの導入レシピでは、実際にGrafanaでダッシュボードを組む手順を紹介しています。
【導入レシピ】離れた貯水槽のポンプを無線を使って自動制御する – 水位の見える化編

