Grafana ダッシュボード

DockerBeginner
オンラインで実践に進む

はじめに

この実験では、Grafana を使用して監視ダッシュボードを作成する基本を学びます。Grafana は、人気のあるオープンソースの監視およびオブザーバビリティ プラットフォームであり、どこに保存されていてもメトリクスをクエリ、視覚化、アラート設定、探索することができます。

以下のものが含まれる、事前に設定された環境で作業します。

  • Grafana: ダッシュボードを構築する視覚化ツールです。
  • Prometheus: Grafana のデータソースとなる時系列データベースです。
  • Node Exporter: ホストマシンからハードウェアおよび OS のメトリクスを収集し、Prometheus がスクレイピングできるように公開するエージェントです。

目標は、実験環境のライブ CPU 使用率を表示するシンプルなダッシュボードをゼロから構築することです。

事前設定された環境の探索

このステップでは、実験環境に慣れます。セットアップスクリプトは、基本的な監視スタックを形成する 3 つの Docker コンテナを既に起動しています。

まず、すべてのコンテナが実行されていることを確認しましょう。ターミナルを開き、次のコマンドを実行します。

docker ps

以下のような出力が表示され、grafanaprometheusnode-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:3000->8080/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 login page with admin credentials

ログインしたら、データソースの接続を確認しましょう。

  1. 左側のメニューで、Connections アイコン(プラグまたはコネクタのように見えます)をクリックします。
  2. Connections ページで、Data sources をクリックします。
  3. Prometheus という名前の事前設定されたデータソースが表示されます。この接続は初期化スクリプトによって自動的に設定されており、Grafana が Prometheus コンテナをクエリできるようになっています。
Grafana UI showing Prometheus data source selection

これで、最初のダッシュボードを構築する準備が整いました。

Grafana UI で新しいダッシュボードを作成する

このステップでは、Grafana インターフェースで新しく空のダッシュボードを作成します。ダッシュボードは、グリッド状に配置された 1 つ以上のパネルのコレクションです。

  1. Grafana UI で、左側のサイドバーを見つけます。
  2. 表示されるメニューから、Dashboard を選択します。
Create New Dashboard

この操作により、新しく空のダッシュボードが作成されます。すぐに最初のパネルを追加するように促されます。パネルは、Grafana における基本的な視覚化のビルディングブロックです。

画面中央の Add visualization ボタンをクリックして、パネルエディタに進みます。

Add New Panel

これでパネルエディタに入りました。次のステップで、データクエリを定義し、その視覚化をカスタマイズします。

CPU 使用率のための PromQL クエリでパネルを追加する

このステップでは、ダッシュボードにパネルを追加し、PromQL (Prometheus Query Language) クエリを使用して CPU 使用率データを取得します。

前のステップから、すでにパネルエディタに入っているはずです。

  1. エディタの下部にあるクエリセクションを見つけます。Prometheus データソースはデフォルトで選択されているはずです。
  2. Metrics browser テキストボックスに、次の PromQL クエリを入力します。直接コピー&ペーストできます。
100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)

このクエリの内訳を見てみましょう。

  • node_cpu_seconds_total{mode="idle"}: これは Node Exporter のメトリクスで、CPU が「アイドル」状態であった合計秒数をカウントします。
  • rate(...[5m]): この関数は、過去 5 分間のアイドル時間の 1 秒あたりの平均レートを計算します。結果は 0 から 1 の間の値になり、CPU がアイドルであった時間の割合を表します。
  • avg by (instance): これは結果を集計します。複数の CPU やマシンがある場合に便利です。
  • * 100: これは、小数値をパーセンテージに変換します(例:0.95 が 95% になります)。
  • 100 - ...: 最後に、アイドル時間のパーセンテージを 100 から引いて、アクティブな CPU 使用率のパーセンテージを取得します。

クエリを入力すると、上部のプレビューペインにグラフが自動的に表示され、CPU 使用率が時間とともに示されます。

Grafana Panel with Query

パネルは現在データを表示していますが、次のステップで改善する、より良いラベル付けとフォーマットを行うことができます。

ダッシュボードのカスタマイズと保存

このステップでは、パネルの外観をカスタマイズし、ダッシュボードを保存します。適切に設定されたパネルは、一目で理解しやすくなります。

  1. パネルエディタの右側にある Panel options セクションを見つけます。
  2. Title フィールドに、CPU Usage % のようなパネルのわかりやすい名前を入力します。プレビューペインでタイトルが更新されるのがわかります。
  3. 右側のオプションを下にスクロールして、Standard options セクションを見つけます。
  4. Unit ドロップダウンメニューをクリックします。現在は「None」と表示されています。
  5. 表示された検索ボックスに percent と入力し、リストから Percent (0-100) を選択します。これにより、グラフの Y 軸がパーセント記号を表示するように正しくフォーマットされます。
Customize Panel Options

パネルの設定が完了したので、変更を適用してダッシュボードビューに戻ります。

  1. 画面右上にある Save ボタンをクリックします。

これでダッシュボードに戻り、新しく作成したパネルが含まれています。最後のステップは、ダッシュボード全体を保存することです。

  1. ダッシュボードヘッダーの右上にある Save dashboard アイコン(フロッピーディスクのようなアイコン)をクリックします。
  2. 「Save dashboard」ダイアログが表示されます。ダッシュボードの名前を入力します。例えば、My System Dashboard です。
  3. Save ボタンをクリックします。
Save Dashboard

おめでとうございます!最初の Grafana ダッシュボードを正常に作成し、保存しました。

まとめ

この実験では、Grafana ダッシュボードをゼロから作成しました。事前に設定されたモニタリングスタックから始め、以下の主要なアクションを実行しました。

  • Grafana、Prometheus、Node Exporter コンテナで構成される環境を探索しました。
  • Grafana UI を操作して、新しい空のダッシュボードを作成しました。
  • 可視化パネルを追加し、Prometheus データソースから CPU 使用率データを取得するための PromQL クエリを作成しました。
  • パネルのタイトルと単位フォーマットをカスタマイズして、可読性を向上させました。
  • 完成したダッシュボードを保存して、将来使用できるようにしました。

これで、Grafana で可視化を作成するための基本的なワークフローを学びました。この知識を基盤として、メモリ使用量、ディスク I/O、ネットワークトラフィックなどの他のシステムメトリクスを監視するために、ダッシュボードにさらにパネルを追加することができます。