Grafana入門:Prometheusのupを1枚のパネルで表示する

中級 | 10分 で読める | 2026.04.24

公式ドキュメント

Grafanaはデータを保管する道具ではなく、Prometheusなどのdata sourceへ問い合わせて可視化する道具です。今回はPrometheus自身の稼働を示すupだけを表示します。

初出日: 2026-04-24 / 最終確認日: 2026-07-25

今回やること

Prometheusがmetricsとupの値を保存し、Grafanaのdata sourceがPromQLでqueryしてStat panelへ表示する流れの図

Prometheus(保存・PromQL) → Grafana data source → panel 1枚
  • Docker Composeで2サービスを起動する
  • GrafanaへPrometheusを接続する
  • upをStatパネルで表示する

ログ、トレース、アラート、複雑な変数は扱いません。

役割を分ける

名前この実習での役割
Prometheus対象をscrapeし、メトリクスを保存してPromQLで返す
data sourceGrafanaからPrometheusへ接続する設定
dashboard複数の可視化をまとめる画面
panel一つのquery結果を表示する部品

GrafanaへPrometheusのデータがコピーされるわけではありません。dashboardを開くたびに、Grafanaがdata sourceへqueryを送ります。

PrometheusとGrafanaを起動する

学習用ディレクトリにcompose.yamlを作ります。

services:
  prometheus:
    image: prom/prometheus:v3.12.0
    ports:
      - "9090:9090"

  grafana:
    image: grafana/grafana:13.1.0
    ports:
      - "3000:3000"
    environment:
      GF_SECURITY_ADMIN_USER: admin
      GF_SECURITY_ADMIN_PASSWORD: admin
docker compose up -d
docker compose ps

この固定タグは、初出日2026-04-24の記事を最終確認日2026-07-25に検証した版です。後日試す時はGrafana releasesPrometheus releasesで利用可能な版を確認してください。

Prometheusをdata sourceへ追加する

http://localhost:3000を開き、ユーザー名・パスワードともadminでログインします。これはローカル学習専用です。本番で既定または単純なパスワードを使ってはいけません。

Grafanaで次を操作します。

  1. Connections → Data sourcesを開く
  2. Add new data sourceからPrometheusを選ぶ
  3. Prometheus server URLへhttp://prometheus:9090を入力する
  4. Save & testを押す

Grafanaはコンテナ内で動くため、localhost:9090ではなく、Composeのサービス名prometheusを使います。

panelを一つ作る

  1. Dashboards → New → New dashboardを開く
  2. Add visualizationを押す
  3. Prometheus data sourceを選ぶ
  4. Queryへupを入力する
  5. VisualizationをStatにする
  6. タイトルをPrometheus target upとして保存する

upは、Prometheusが対象を直近のscrapeで取得できた時に1、失敗した時に0になります。

系列が複数表示された場合は、凡例にあるjobinstanceを確認します。この構成ではPrometheus自身を表す系列を見つけ、必要ならqueryをup{job="prometheus"}へ絞ります。

成功確認

  • data sourceの接続テストが成功する
  • upの結果が少なくとも1系列表示される
  • Statパネルに1が表示される
  • Prometheusを停止すると、過去の値と現在の取得不能を区別できる

パネルが表示されたことだけで「システムが正常」とは断定できません。今回確認できるのは、Prometheusのscrape対象が応答したことだけです。

dashboardはLearning Prometheusのような目的が分かる名前で保存します。時刻範囲を直近15分へ変え、同じqueryでも表示範囲によってグラフが変わることも確認してください。

よくあるつまずき

data sourceへ接続できない

URLがhttp://prometheus:9090か確認し、docker compose psで両方が起動しているか見ます。ブラウザからPrometheusを見るURLはlocalhost:9090ですが、Grafanaコンテナからはサービス名を使います。

パネルがNo dataになる

まずhttp://localhost:9090のPrometheus画面でupを実行します。そこで結果がなければ、GrafanaではなくPrometheus側を確認します。

0を「データなし」と同じに扱う

0はscrape失敗を示す値で、No dataとは異なります。値がないのか、対象が失敗して0なのかを分けて調べます。

練習

同じdashboardへTime seriesパネルを一つ追加し、同じupを表示してください。Statは現在値、Time seriesは時間変化を見る用途だと説明できれば成功です。

後片付け

docker compose down

この例はvolumeを付けていないため、コンテナ削除とともに作成したdashboardも消えます。

次のステップ

参考リソース

← 一覧に戻る
PR
PR
PR
PR