はじめに
Grafanaは、マルチプラットフォームで動作するオープンソースの分析および可視化ツールです。Prometheus、PostgreSQL、CloudWatchなど、多様なデータソースを統合し、洗練されたダッシュボードを作成できます。
本記事では、Grafanaを使い始めた方が最初にマスターすべき「管理構造」と、ダッシュボードの再利用性を高める「変数(Variable)」の使い方について、実務的なTipsを交えて解説します。
1. Folderによる階層化と権限管理
ダッシュボードが増えてくると、目的のダッシュボードを見つけるのが困難になります。
そこで「Folder(フォルダ)」による整理が不可欠です。
Folderの役割
-
構造化:
関連するダッシュボードや下位フォルダを階層的に管理できます。
サイドメニューの「Dashboards」から一覧を確認可能です。 -
権限管理(重要):
フォルダ右上のFolder actions>Manage Permissionsから、フォルダ単位でアクセス権を設定できます。- チームやユーザー、ロール(Admin/Editor/Viewer)ごとに制限をかけることで、例えば「本番環境用」と「開発環境用」を分けるといった柔軟な運用が可能です。
2. ダッシュボードの作成と配置の基本
ダッシュボードは、1つ以上の「Panel(パネル)」を「Row(行)」で整理して配置するキャンバスです。
配置とサイズ
- 右上の
AddボタンからパネルやRowを追加します - ドラッグ&ドロップで移動し、パネルの端を操作することでサイズを自由に変更できます
-
Row(行)の活用:
関連するパネルをRowでまとめると、クリック一つで複数のパネルを折り畳めるようになり、視認性が向上します
インポート
一からダッシュボードを作成する以外に、JSON形式の定義ファイルをインポートして素早く構築する方法があります。
-
やり方:
サイドメニューのDashboards>New>Importを選択。 -
方法:
ダッシュボードIDを入力するか、エクスポート済みのJSONファイルをアップロードします。
3. Variable(変数)で動的なダッシュボードを作る
「特定の地点だけ表示したい」「ユーザーごとにフィルタしたい」といった要望には、Variable(変数) を利用します。
変数を使うメリット
クエリやパネルタイトルに「動的なプレースホルダー」を埋め込むことで、1つのダッシュボードを何通りにも使い回せるようになります。
実践テクニック:Label and Value
Label and Value は内部的な値としてではなく、ユーザーが理解できるラベルを選択肢として表示したい場合に有効です。
SQL(PostgreSQL等)での実装例:
クエリ内で __value(内部値)と __text(表示名)を定義します。
SELECT
id AS __value,
name AS __text
FROM
customer
変数の参照とフォーマット
作成した変数は ${変数名} の形式で参照します。
SQLで文字列として扱う場合などは、フォーマット指定が便利です。
クエリ内での参照例:
SQL
SELECT name
FROM customer
WHERE id IN (${id:singlequote}) -- 選択された値をシングルクォートで囲んで展開
- Show dependencies:
変数編集画面のこのボタンを押すと、変数同士の依存関係(例:国を選んだら都市の選択肢が絞られる等)を視覚的に確認できます。
まとめ
-
Folder:
整理だけでなく「権限の境界線」として活用する。 -
Dashboard:
タグを使い、ユーザーが迷わないメニュー構成を作る。 -
Variable:
__value と __text を使い分け、ユーザーフレンドリーな操作感を実現する。
次回は、より詳細な「Panel」のビジュアライズ設定やTransform(データ変換)について解説します。

