Grafana

Grafana インストールとダッシュボード作成の完全ガイド

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

Docker で導入する場合

Docker イメージは OS の違いに左右されずに同一環境を再現できるため、開発・検証・本番のどのフェーズでも手軽に利用できます。以下では docker compose を用いた最小構成と、コンテナ内部でバージョンを確認する方法を示します。

Docker Compose のサンプル

Docker Compose ファイルは プロジェクトディレクトリ に置き、docker compose up -d だけで Grafana が起動します。

起動とバージョン確認

重要
grafana-cli はコンテナ内にしかインストールされていません。ホスト側で直接 grafana-cli --version を実行してもコマンドは見つかりません。バージョンを確認したいときは必ず上記のように docker exec でコンテナ内部に入ってください。


apt パッケージでインストールする場合(Ubuntu/Debian 系)

APT は OS のパッケージ管理システムと統合できるため、長期運用や自動アップデートが必要な環境に向いています。公式リポジトリを追加した後の手順は次の通りです。

公式リポジトリの登録

注記
上記のパスは Debian 系 Linux の標準的な配置です。別ディストリビューションやカスタム環境では、キーリングや sources.list.d の場所が異なる場合があります。

インストールとサービス起動

バージョン確認

APT でインストールした場合はホスト側に grafana-cli が配置されます。以下のコマンドで現在実行中のバージョンを取得できます。

ポイント
apt upgrade grafana とすれば、リポジトリが提供する最新パッチへ自動的に追従できるため、セキュリティ更新の手間が大幅に削減されます。


Grafana Cloud(SaaS)を利用する場合

サーバー管理を省きたいチームや、短期間で可視化基盤を立ち上げたいケースでは Grafana Cloud が便利です。無料プランでも基本的なダッシュボード作成・アラート機能が利用できます。

サインアップ手順(概要)

  1. https://grafana.com/auth/sign-up にアクセスし、GitHub/Google アカウントで登録
  2. 「Create a Cloud instance」画面で Free tier を選択
  3. インスタンス作成後に表示される URL(例:https://my-grafana.grafana.net)へアクセスし、管理者パスワードを設定

注意点
無料プランのリソース上限は「メトリクス 50,000 シリーズ/日」や「データ保持期間 14 日」など、公式ドキュメントに随時更新されます。利用開始前に最新情報を必ず確認してください。


データソースの接続設定

Grafana の最大の強みは多様なメトリクス・ログ・トレースと連携できる点です。本節では PrometheusOpenTelemetry Collector(OTLP 経由)および Loki(ログ)の設定手順を実例付きで解説します。

Prometheus の追加

Prometheus は時系列データの標準的な収集先です。Grafana 側では URL とアクセス方式だけで接続できます。

環境依存localhost はコンテナ外部からのアクセスを想定しています。Docker Compose 内の別サービスから参照する場合は http://prometheus:9090 のようにネットワーク名へ置き換えてください。

OpenTelemetry(OTLP)経由でメトリクス取得

OpenTelemetry Collector が提供する OTLP エンドポイントを直接データソースとして登録します。

Grafana 側の設定は Prometheus データソースと同様に、OTLP の HTTP エンドポイント(例:https://my-grafana.grafana.net/api/prom)を入力すれば完了です。

ポイント
OTLP は gRPC と HTTP の両方に対応しているため、Collector 側の設定と合わせてプロトコルを選択してください。

Loki(ログ)の接続

Loki は Prometheus ラベル形式でログを集約できる軽量なログストレージです。

接続が成功すれば Explore タブから {job="nginx"} のようなクエリでログ検索が可能です。


ダッシュボード作成とパネル構築

データソースが揃ったら、実際に可視化用のダッシュボードを作ります。ここでは「CPU 使用率」「メモリ使用率」「ディスク I/O」の3つの指標を 1 枚の画面にまとめる手順を示します。

パネル追加の基本フロー

  1. + New dashboardAdd panel をクリック
  2. 「Query」タブで対象データソース(例:Prometheus)とクエリ文字列を入力
  3. 「Visualization」パネルで表示形式(Graph、Stat、Bar gauge など)を選択し、タイトルや単位を設定
  4. 必要に応じて Alert タブで閾値ベースの通知ルールを作成

推奨クエリ例と可視化タイプ

パネル名 Prometheus クエリ 可視化タイプ 補足
CPU 使用率 100 - (avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) Graph(時間推移) 複数インスタンスを同時表示
メモリ使用率 (node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes * 100 Stat(単一指標) 単位は %、色で閾値表現可
ディスク I/O rate(node_disk_reads_completed_total[1m]) or rate(node_disk_writes_completed_total[1m]) Bar gauge(読/書別表示) ラベル job="node" で絞り込み

ポイント:クエリは環境ごとにメトリクス名が異なることがあります。node_exporter のバージョンやカスタムメトリクスを使用している場合は、適宜名前を置き換えてください。


パネルのカスタマイズとテンプレート変数活用

同じダッシュボードで多数のホストを監視したい場合は テンプレート変数繰り返し行(Repeat) 機能が便利です。

変数作成手順

  1. Dashboard settings → Variables → New
  2. Name: host、Type: Query、Data source: Prometheus
  3. Query: label_values(node_cpu_seconds_total, instance)
  4. 「Add」して保存

これで $host が全インスタンスのリストとして利用可能になります。

繰り返し行でパネルを自動生成

パネル編集画面の General タブで以下を設定します。

  • Repeat direction: Row(行単位)
  • Repeat by variable: $host

保存後、ダッシュボードはインスタンス数だけ行が増え、同一構成のパネルが自動的に複製されます。

注意:変数クエリはデータソースごとに異なる書式になるため、Prometheus 以外を利用する場合はそれぞれ対応したクエリを書き換えてください。


ダッシュボードの保存・共有と Grafana Cloud のプラン比較

作成したダッシュボードはチーム内外で再利用できるように JSON エクスポートスナップショット 機能を活用します。また、クラウド版の無料プランと有料プランの主要な違いも整理しておきます。

JSON エクスポート

  1. パネル右上の Share アイコン → Export > View JSON
  2. 表示された JSON をコピーし、Git リポジトリや CI/CD の構成管理に保存

これによりコードレビューやバージョン管理が容易になります。

スナップショットで手軽に共有

  1. 同じく ShareSnapshot を選択
  2. 「Create public snapshot」ボタンをクリックし、生成された URL をコピー
  3. 有効期限(最大 30 日)や閲覧権限はオプションで設定可能

スナップショットは認証が不要なため、外部ステークホルダーへの一時的なデモに最適です。

Grafana Cloud プラン比較(2024 年時点)

項目 Free (無料) Pro / Advanced
データ保持期間 14 日 最大 365 日(プラン選択に応じて変動)
メトリクス上限 約 50,000 シリーズ/日 上限なし(実質的な制限はプランごとの料金体系)
ユーザー数 1 アカウント (SSO) 複数ユーザー、ロールベースのアクセス管理
Alerting 基本メール通知 多彩なチャネル(Slack, PagerDuty, Webhook 等)
プラグインマーケット 全プラグイン利用可 同上 + Enterprise 向けプラグイン
サポート コミュニティフォーラム SLA に基づく公式サポート

ポイント:Free プランは個人・小規模テスト向けです。保持期間や高度なアラートが必要になったら、Pro へのアップグレードを検討してください。


実践例:CPU・メモリ・ディスク I/O を一枚のダッシュボードにまとめる手順

  1. データソース
  2. Prometheus(メトリクス)と Loki(ログ)が追加済みであることを確認

  3. テンプレート変数 $host を作成し、インスタンス一覧を取得

  4. パネル配置(行単位の繰り返し設定)

  5. Row 1: CPU 使用率 → Graph、アラート閾値 85%
  6. Row 2: メモリ使用率 → Stat、単位 %
  7. Row 3: ディスク I/O → Bar gauge、ラベル read / write

  8. ダッシュボード保存

  9. 「Save as」からバージョン名 v1.0_initial を付与し、コメントに「初期監視テンプレート」と記入

  10. 共有

  11. JSON エクスポートでリポジトリへプッシュ
  12. スナップショット URL を生成し、チームの Slack に投稿

この手順を踏むだけで、複数サーバーの主要指標が一目で把握できる統合監視画面が完成します。


まとめ

  • Docker は環境依存が少なく即時に最新イメージを取得可能。バージョン確認は docker exec 内で実行する点に注意。
  • apt パッケージ は OS のパッケージ管理と統合でき、定期的なアップデートが容易。ホスト側に grafana-cli があるので直接バージョン確認可能。
  • Grafana Cloud はサーバーメンテナンス不要で無料でも基本機能は利用可。ただしリソース上限は公式ドキュメントで随時確認すること。
  • データソース(Prometheus、OpenTelemetry OTLP、Loki)を正しく接続すれば、メトリクス・ログ・トレースの統合可視化が実現できる。
  • テンプレート変数と繰り返し行で「1 ダッシュボード × 多ホスト」構成を簡単に作れるので、運用コストが大幅に削減できる。

以上の手順とベストプラクティスに沿って設定すれば、初心者でも確実に Grafana 環境を構築・拡張できます。公式ドキュメントや GitHub リポジトリを併せて参照しながら、実際のプロジェクトへ適用してみてください。

スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-Grafana