Contents
Grafana AI の概要と利用開始手順
Grafana AI は、メトリクス・ログ・トレースという 3 種類の observability データを組み合わせ、自然言語でダッシュボードを自動生成できる機能です。実務で「すぐに可視化したい」シーンに最適で、Grafana Cloud または Enterprise の環境で AI 機能を有効化し、API キーを取得しておくことが第一歩となります。本セクションでは、利用開始までの全体像と注意点を解説します。
Grafana Cloud と Enterprise の違い
Grafana Cloud はマネージド型 SaaS、Enterprise はオンプレミス/プライベートクラウド向けエディションです。どちらも同一の AI API を提供していますが、導入形態や料金体系に相違があります。
- 導入形態
Cloud は数分で利用開始可能、Enterprise は自社インフラへインストールする手間が必要です。 - 課金モデル
Cloud は従量課金(リクエスト単位)または固定プランのいずれかを選択できます。公式料金ページ(https://grafana.com/pricing)に記載されているとおり、AI 呼び出しは「1 回あたり 0.001 USD」程度から課金されます。Enterprise は年次ライセンスに含める形で提供され、別途従量課金は発生しません。 - データ保持
Cloud は Grafana が管理するストレージを使用し、Enterprise は自前のバックエンド(例:Amazon S3、GCS)を選択できます。
API キーの取得方法
AI 機能は REST API 経由でも利用できるため、事前に API キーを作成しておく必要があります。以下の手順で安全にキーを発行しましょう。
- Grafana にログインし、右上のユーザーアイコンから「Preferences(設定)」を選択
- 左メニューの「API Keys(API キー)」を開く
- 「Add API Key(キー追加)」ボタンをクリックし、次項目を入力
- 名前:
grafana-ai-demoなど分かりやすい名称 - ロール:
Editor(ダッシュボード作成権限) - 有効期限:必要に応じて設定(例:30 日)
- 「Create(作成)」を押すとキーが表示されるので、漏洩しないよう安全な場所へ保存
取得したキーは HTTP ヘッダー Authorization: Bearer <API_KEY> でリクエストに付与します。詳細手順やトラブルシューティングは公式ドキュメント(https://grafana.com/docs/grafana/latest/ai/)をご参照ください。
主要データソースの接続設定
AI がダッシュボードを生成するには、対象となるデータソースへの接続が必須です。ここでは Grafana の代表的な 3 つ(Prometheus・Loki・Tempo)の登録手順とポイントを解説します。
Prometheus の接続手順
Prometheus は時系列メトリクスのデファクトスタンダードです。以下の流れで Grafana に追加します。
- 左サイドバーの「Configuration → Data Sources(設定→データソース)」を選択
- 「Add data source(データソース追加)」ボタンをクリックし、一覧から Prometheus を選ぶ
- 必要項目を入力
- URL:
http://<prometheus-host>:9090(例:http://prometheus.local:9090) -
Access:
Server (default) -
「Save & Test(保存&テスト)」で接続確認。成功すると「Data source is working」と表示されます。
接続確認用クエリ例
|
1 2 |
up{job="grafana"} |
上記クエリは Prometheus が正常にデータを返せているかを即座に検証できます。
Loki と Tempo の追加方法
ログ(Loki)とトレース(Tempo)は Observability スタックの中核です。設定手順は Prometheus と類似していますが、いくつか固有の項目があります。
- Loki
- データソース一覧で Loki を選択
- URL に Loki エンドポイント(例:
http://loki.local:3100)を入力 -
「Maximum lines」や「Derived fields」など、ログ検索に便利なオプションを必要に応じて設定
-
Tempo
- データソース一覧で Tempo を選択
- URL に Tempo エンドポイント(例:
http://tempo.local:3200)を入力 - 「Search settings」からトレース検索のタイムアウトやデフォルト期間を調整
いずれも「Save & Test」で接続確認が可能です。AI はこれらのデータソース名(Prometheus, Loki, Tempo)を認識し、適切なパネルを自動生成します。
実践!AI プロンプト作成とダッシュボード生成
自然言語で指示(プロンプト)を与えるだけで、KPI パネルやレイアウトまで自動構築できます。ここでは実務で頻出する「サービス可用性」と「エラーレート」の例を紹介します。
KPI・メトリクス指定例
以下は日本語と英語が混在しない、完全な日本語プロンプト例です(英語表記はコードブロック内に残してあります)。
|
1 2 3 4 5 6 |
Grafana のダッシュボードを作成してください。 - サービス可用性(パーセンテージ)を過去 30 日間で表示し、使用メトリクスは Prometheus の `up{job="web"}` とする。 - Loki ログから「status=5xx」を含むエラー率を分単位で算出し、同じく可視化する。 - Tempo データを元に過去 24 時間の上位 5 件の遅延トレースをテーブル形式で表示する。 パネルは左側に可用性ゲージ、右側にエラー率時系列チャート、下部にトレース表という二列レイアウトで配置してください。 |
ポイント
- メトリクス名とラベルを正確に記載(例:
up{job="web"}) - 集計期間を明示(30 日、1 分、24 時間)
- 使用データソースを列挙(Prometheus, Loki, Tempo)
レイアウト指示の書き方
レイアウトまで指定するとインポート後に手直しが減ります。以下は「パネル配置」まで含めた日本語プロンプト例です。
|
1 2 3 4 5 6 |
JSON 形式で Grafana ダッシュボードを生成してください。 - 上段左側:可用性を示すゲージ(99 % 超えると緑、下回ると赤)。 - 上段右側:エラー率の時系列折れ線グラフ(赤色ライン)。 - 下段全幅:上位 5 件トレースのテーブル。 テーマは Dark、パネルタイトルは日本語で表示してください。 |
生成された JSON は Dashboard → Manage → Import から貼り付けるだけで即座にプレビューできます。
インポート手順
- 左メニューの「Create → Dashboard(作成→ダッシュボード)」を選択
- 右上の「Import(インポート)」ボタンをクリック
- 表示されたテキストエリアに AI が返した JSON を貼り付けて Load
- データソースが自動で割り当てられたことを確認し、Import を実行
インポート完了後は「View dashboard(ダッシュボードを見る)」で結果を確認できます。
生成ダッシュボードのカスタマイズとデザイン原則の統合
AI が作成したベースはあくまで雛形です。実務に合わせて可読性・一貫性・インタラクティブ性という3つのデザイン原則を適用すると、完成度が大幅に向上します。
パネル配置とテーマ設定
- 可読性:フォントサイズは最低
14 px、重要指標はゲージや単色棒グラフで強調。 - 一貫性:全パネルで同じカラーパレット(Grafana デフォルトのブルー系)を使用し、テーマは「Dark」または「Light」のどちらかに統一。設定は「Dashboard → Settings → General → Theme」で変更できます。
- インタラクティブ性:タイムレンジピッカーやテンプレート変数(例:
$service)を上部に配置し、ユーザーが自由に期間や対象サービスを切り替えられるようにします。
変数とアラートの実装例
| 項目 | 設定手順 |
|---|---|
テンプレート変数 $service |
Dashboard の「Variables」タブで type: query、データソースは Prometheus、クエリは label_values(up, job) とする。パネルのラベル部分に ${service} を埋め込むことでサービス単位のフィルタリングが可能です。 |
| 可用性アラート | 対象パネルの「Alert」タブで条件式 WHEN avg() OF query(A, 5m) IS BELOW 0.995 を設定し、通知チャネルに Slack Webhook を指定します。 |
デザイン原則と具体的実装例
| 原則 | 実装例 |
|---|---|
| 可読性 | パネルタイトルは「サービス可用性(%)」「エラー率(件/分)」のように単位を必ず記載。 |
| 一貫性 | 同じ指標は同一ビジュアルタイプで統一(例:全てラインチャート、または全てゲージ)。 |
| インタラクティブ性 | パネル上にツールチップで詳細情報を表示し、クリックすると該当トレースの詳細ページへ遷移できるリンク設定を追加。 |
ベストプラクティス・注意点&トラブルシューティング
Grafana AI を安全かつ効果的に活用するためのポイントと、よくある障害への対処法をまとめました。
コスト管理と料金モデルの具体例
- リクエスト単位課金:公式料金表(2024‑12 時点)では「1 回の AI 呼び出し=0.001 USD」前後です。頻繁に再生成する場合はテンプレート化したプロンプトを保存し、同一ダッシュボードの再生成は控えるとコスト削減につながります。
- データ転送量:大量ログやトレースを対象にするとバックエンドクエリが増大します。期間は「過去 7 日」まで絞る、またはサンプリング率を設定することで費用抑制が可能です。
機密情報の取扱いガイドライン
- プロンプトにシークレットを書かない:サービス名やタグは問題ありませんが、ユーザー ID・パスワード・API シークレットなどは絶対に含めません。
- 最小権限で API キーを発行:
Editor権限で十分です。Admin権限を付与すると設定変更リスクが増大します。
プロンプトが期待通りに反映されないときの対処法
- サーバーログ確認
/var/log/grafana/grafana.logにAI request failedなどのエラーメッセージが出ていないか検索します。 - プロンプトの精査
- メトリクス名・ラベルが正しいか
- 期間指定が曖昧でないか(例:
last 30 days→過去 30 日間) -
Loki の正規表現が適切か
-
指示をシンプル化
一度に要求する項目は 1〜2 個に絞り、生成された JSON を手動でマージすると成功率が上がります。
よくあるエラーと解決策(FAQ)
| エラー | 原因 | 解決策 |
|---|---|---|
| 「API key is invalid」 | キーのタイプが Admin になっている、または期限切れ |
Editor 権限で新規キーを作成し、期限を確認する |
| 「Data source not found」 | データソース名が AI に認識されていない | ダッシュボード設定 → Data Sources で名前を Prometheus, Loki, Tempo のままに統一 |
| 「Prompt too long」 | プロンプト文字数が上限(約2 KB)を超えている | 必要な情報だけに絞り、長い説明は別途ドキュメント化する |
まとめ
Grafana AI は自然言語だけで高度な可視化ダッシュボードを生成できる強力なツールです。
1. 環境の準備(Cloud/Enterprise の選択、API キー取得)
2. データソース接続(Prometheus・Loki・Tempo を正しく登録)
3. プロンプト作成(指標・期間・レイアウトを具体的に記述)
これらのステップを踏んだ上で、公式料金表に基づくコスト管理と機密情報保護のベストプラクティスを守れば、安全かつ経済的に AI ダッシュボードを活用できます。ぜひ本記事の手順とチェックリストを参考に、実務で即戦力となる可視化環境を構築してください。
※ 本稿の情報は 2024 年末時点の公式ドキュメントおよび料金ページに基づいています。最新情報は Grafana の公式サイトをご確認ください。