はじめに
このラボでは、Grafana を使用して監視ダッシュボードを作成する基礎を学びます。Grafana は、監視と可観測性のための人気のあるオープンソースプラットフォームであり、データの保存場所に関係なく、メトリクスのクエリ、視覚化、アラート設定、調査を行うことができます。
今回は、以下のコンポーネントを含む設定済みの環境を使用します。
- Grafana: ダッシュボードを構築するための視覚化ツール。
- Prometheus: Grafana のデータソースとなる時系列データベース。
- Node Exporter: ホストマシンからハードウェアおよび OS のメトリクスを収集し、Prometheus がスクレイピングできるように公開するエージェント。
今回の目標は、ラボ環境のリアルタイム CPU 使用率を表示するシンプルなダッシュボードをゼロから構築することです。
設定済み環境の確認
このステップでは、ラボ環境を確認します。セットアップスクリプトによって、基本的な監視スタックを構成する 3 つの Docker コンテナが既に起動しています。
まず、すべてのコンテナが実行されていることを確認します。ターミナルを開き、次のコマンドを実行してください。
docker ps
以下のような出力が表示され、grafana、prometheus、node-exporter コンテナがリストアップされているはずです。コンテナ ID は環境によって異なります。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c1a2b3c4d5e6 grafana/grafana "/run.sh" 15 seconds ago Up 14 seconds 0.0.0.0:8080->3000/tcp grafana
f6e5d4c3b2a1 prom/prometheus "/bin/prometheus --c…" 20 seconds ago Up 19 seconds 0.0.0.0:9090->9090/tcp prometheus
a9b8c7d6e5f4 prom/node-exporter "/bin/node_exporter …" 25 seconds ago Up 24 seconds 0.0.0.0:9100->9100/tcp node-exporter
各コンポーネントの概要は以下の通りです。
node-exporter: 仮想マシンからシステムメトリクスを収集します。prometheus:node-exporterからメトリクスをスクレイピングして保存します。grafana: Prometheus にクエリを投げ、データを視覚化します。
それでは、Grafana のユーザーインターフェースにアクセスしましょう。
LabEx VM のリバースプロキシ設定により、デスクトップインターフェースに切り替え、左上の Firefox ブラウザをクリックして、アドレスバーに http://localhost:8080 と入力してください。Grafana のログインページが表示されます。
デフォルトの認証情報でログインします。
- ユーザー名:
admin - パスワード:
admin
パスワードの変更を求められる場合がありますが、このラボでは Skip をクリックして構いません。

ログインしたら、データソースの接続を確認します。
Grafana はリリースごとに左側のサイドバーのラベルやアイコンが変更されるため、画面がスクリーンショットと完全に一致しない場合があります。サイドバーが折りたたまれている場合は、まず展開してください。
- データソース管理画面を開きます。最近の Grafana バージョンでは、Connections から Data sources を選択します。Connections が見当たらない場合は、サイドバーの検索機能を使用して Data sources を開いてください。
Prometheusという名前の設定済みデータソースが存在することを確認します。この接続は初期化スクリプトによって自動的に設定されており、Grafana が Prometheus コンテナにクエリを投げられるようになっています。

これで、最初のダッシュボードを作成する準備が整いました。
Grafana UI での新しいダッシュボード作成
このステップでは、Grafana インターフェースで新しい空のダッシュボードを作成します。ダッシュボードは、グリッド状に配置された 1 つ以上のパネルの集合体です。
- Grafana UI の左側サイドバーを確認します。
- 新しいダッシュボードを作成します。メニューのラベルは Grafana のバージョンによって異なります。
- + Create という項目がある場合は、それを開き New dashboard を選択します。
- サイドバーに Dashboards がある場合は、それを開き New dashboard を選択します。
- サイドバーのレイアウトが異なる場合は、Grafana の検索ボックスを使用して New dashboard を検索してください。

この操作により、新しい空のダッシュボードが作成されます。すぐに最初のパネルを追加するよう促されます。パネルは Grafana における視覚化の基本的な構成要素です。
画面中央の Add visualization ボタンをクリックして、パネルエディタに進みます。

パネルエディタが表示されました。次のステップで、データクエリの定義と視覚化のカスタマイズを行います。
CPU 使用率を表示する PromQL クエリパネルの追加
このステップでは、ダッシュボードにパネルを追加し、PromQL (Prometheus Query Language) クエリを使用して CPU 使用率データを取得します。
前のステップからパネルエディタが開いている状態のはずです。
- エディタの下部にクエリセクションがあります。デフォルトで
Prometheusデータソースが選択されているはずです。 - Metrics browser テキストボックスに、以下の PromQL クエリを入力します(直接コピー&ペースト可能です)。
100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
このクエリの解説は以下の通りです。
node_cpu_seconds_total{mode="idle"}: CPU が「アイドル」状態であった合計秒数をカウントする Node Exporter のメトリクスです。rate(...[5m]): 過去 5 分間のアイドル時間の 1 秒あたりの平均増加率を計算します。結果は 0 から 1 の値となり、CPU がアイドル状態であった時間の割合を表します。avg by (instance): 結果を集計します。複数の CPU やマシンがある場合に便利です。* 100: 小数値をパーセンテージに変換します(例: 0.95 は 95% になります)。100 - ...: 最後に、100 からアイドル率を引くことで、アクティブな CPU 使用率のパーセンテージを算出します。
クエリを入力すると、上部のプレビューペインに CPU 使用率の推移を示すグラフが自動的に表示されます。

パネルにデータが表示されましたが、次のステップでラベルやフォーマットを調整して、より見やすくします。
ダッシュボードのカスタマイズと保存
このステップでは、パネルの外観をカスタマイズし、ダッシュボードを保存します。適切に設定されたパネルは、一目で状況を把握しやすくなります。
- パネルエディタの右側にある Panel options セクションを探します。
- Title フィールドに
CPU Usage %のような分かりやすい名前を入力します。プレビューペインでタイトルが更新されるのが確認できます。 - 右側のオプションを下にスクロールし、Standard options セクションを探します。
- Unit ドロップダウンメニューをクリックします。現在は "None" となっています。
- 表示された検索ボックスに
percentと入力し、リストから Percent (0-100) を選択します。これにより、グラフの Y 軸がパーセント記号付きで正しくフォーマットされます。

パネルの設定が完了したので、変更を適用してダッシュボードビューに戻ります。
- 画面右上の Save ボタンをクリックします(Grafana のバージョンによっては Apply と表示されている場合があります)。
ダッシュボードに戻り、作成したパネルが表示されているはずです。最後にダッシュボード全体を保存します。
- ダッシュボードヘッダーの右上にある Save dashboard アイコン(フロッピーディスクの形)をクリックします。
- 「Save dashboard」ダイアログが表示されます。ラボで保存を確認できるように、名前を
My System Dashboardと入力してください。 - Save ボタンをクリックします。

おめでとうございます!これで最初の Grafana ダッシュボードの作成と保存が完了しました。
まとめ
このラボでは、Grafana ダッシュボードをゼロから構築することに成功しました。設定済みの監視スタックを使用して、以下の重要な操作を行いました。
- Grafana、Prometheus、Node Exporter コンテナで構成される環境の確認。
- Grafana UI を操作して、新しい空のダッシュボードを作成。
- 視覚化パネルを追加し、Prometheus データソースから CPU 使用率データを取得するための PromQL クエリを記述。
- パネルのタイトルと単位フォーマットをカスタマイズし、可読性を向上。
- 完成したダッシュボードを保存。
これで、Grafana で視覚化を作成するための基本的なワークフローを習得しました。この知識を基に、メモリ使用量、ディスク I/O、ネットワークトラフィックなどの他のシステムメトリクスを監視するためのパネルを追加して、ダッシュボードを拡張していくことができます。



