【初心者向け】Grafana入門:導入から使い方まで徹底解説
システム監視やデータ分析に興味はあるけれど、どこから手をつければいいか分からない… そんな方にぜひ知っていただきたいのが「Grafana」です。
Grafanaは、様々なデータソースと連携し、美しいグラフやダッシュボードを作成できる強力なオープンソースの分析・監視プラットフォームです。初心者でも比較的扱いやすく、システムの状況を「見える化」するのに非常に役立ちます。
この記事では、Grafanaの基本的な概要から、実際にPCに導入し、簡単なダッシュボードを作成するまでの手順を、初心者の方にも分かりやすく徹底的に解説します。
1. Grafanaとは? なぜ使うの?
Grafanaの概要
Grafanaは、データを視覚化(Visualization)することに特化したツールです。単体ではデータを収集・保存する機能は持っていません。代わりに、Prometheus、InfluxDB、Elasticsearch、MySQL、PostgreSQLなど、様々な場所に保存されているデータを取得し、分かりやすい形式で表示します。
Grafanaの主な特徴
- 豊富なデータソース対応: 幅広い種類のデータベースや監視ツールと連携できます。
- 美しいダッシュボード: 豊富なグラフの種類(時系列グラフ、ゲージ、テーブルなど)を使って、見栄えの良いダッシュボードを簡単に作成できます。
- 柔軟なクエリ: 各データソースのクエリ言語を使い、必要なデータを正確に取得・整形できます。
- アラート機能: 閾値を超えた場合などに通知を行うアラートを設定できます。
- オープンソース: 無料で利用でき、活発なコミュニティがあります。
- 拡張性: プラグインによって機能を追加できます。
なぜGrafanaを使うのか?
システムを運用していると、「CPU使用率はどうなっているか?」「メモリは足りているか?」「ユーザーからのリクエスト数は増えているか?」といった情報を常に把握しておく必要があります。これらの情報は、個別のツールやログファイルを見ても断片的になりがちです。
Grafanaを使えば、これらの断片的な情報を一つの画面(ダッシュボード)に集約し、時系列で変化を追ったり、複数のメトリクスを比較したりすることが容易になります。これにより、以下のようなメリットが得られます。
- 状況の把握: システム全体の健全性やパフォーマンスを一目で把握できます。
- 問題の早期発見: 異常な傾向や急激な変化に素早く気づくことができます。
- 原因の特定: 複数のグラフを関連付けて表示することで、問題の原因究明がしやすくなります。
- トレンド分析: 長期間のデータを表示することで、将来的な傾向を予測したり、キャパシティプランニングに役立てたりできます。
- チーム間の共有: チームメンバーや関係者と情報を容易に共有できます。
特に初心者の方にとっては、複雑なコマンド操作やログ解析ツールを使いこなす前に、まずはデータの「見える化」から始めるのに最適なツールと言えます。
2. Grafanaの導入(インストール)
Grafanaを始めるには、まずPCやサーバーにインストールする必要があります。ここでは、一般的な導入方法をいくつかご紹介します。初心者の方には、まずご自身のPCにインストールしてみるのがおすすめです。
導入前の準備
- 動作環境: Linux (Ubuntu/Debian, CentOS/RHELなど)、Windows、macOSなど、様々なOSで動作します。
- リソース: 多くのリソースは要求されませんが、快適に使うためにはある程度のCPUとメモリが必要です。データ量が増えるとディスク容量も必要になります。
- インストール方法の選択:
- OSに直接インストール: 各OSのパッケージマネージャーを使用(Linux)またはインストーラーを使用(Windows/macOS)。
- Dockerコンテナ: Dockerがインストールされていれば、簡単に起動できます。初心者にもおすすめの手法です。
- Grafana Cloud: インストール不要で、クラウド上で提供されるマネージドサービスです。無料枠もあります。
ここでは、Linux (Debian/Ubuntu系) と Docker でのインストール方法を簡単に説明します。
方法1: Linuxにaptコマンドでインストール(Debian/Ubuntu系)
この方法は、サーバーOSとして広く使われているUbuntuやDebianでよく利用されます。
-
必要なパッケージのインストール:
bash
sudo apt-get install -y apt-transport-https software-properties-common wget
(apt-transport-https: HTTPS経由でのリポジトリアクセス、software-properties-common: add-apt-repositoryコマンドの提供、wget: ファイルダウンロード) -
Grafana GPGキーのインポート:
Grafanaリポジトリの正当性を確認するためのキーを追加します。
bash
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add - -
Grafanaリポジトリの追加:
/etc/apt/sources.list.d/grafana.listというファイルを作成し、以下の行を追加します。安定版リポジトリを追加する場合:
bash
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list -
aptリポジトリの更新:
追加したリポジトリの情報をシステムに反映させます。
bash
sudo apt-get update -
Grafanaのインストール:
bash
sudo apt-get install grafana -
Grafanaサーバーの起動と有効化:
システム起動時に自動的にGrafanaが立ち上がるように設定し、今すぐ起動します。
bash
sudo systemctl enable grafana-server
sudo systemctl start grafana-server -
状態確認:
Grafanaサーバーが正常に起動しているか確認します。
bash
sudo systemctl status grafana-server
active (running)と表示されていれば成功です。
方法2: Dockerでインストール
Dockerを使うと、OS環境を汚さずに手軽にGrafanaを試すことができます。Dockerがインストール済みであることが前提です。
-
Grafanaコンテナの起動:
以下のコマンドを実行します。
bash
docker run -d -p 3000:3000 --name grafana grafana/grafana-d: バックグラウンドで実行-p 3000:3000: ホストの3000ポートをコンテナの3000ポートにマッピング(これによりhttp://localhost:3000でアクセス可能になります)--name grafana: コンテナにgrafanaという名前を付けますgrafana/grafana: 使用するDockerイメージ名(公式イメージ)
データ永続化のためには、ボリュームマウントを追加することを推奨します(初回はスキップしてもOK)。
bash
docker run -d -p 3000:3000 --name grafana -v grafana_data:/var/lib/grafana grafana/grafana
(grafana_dataはDockerボリューム名) -
コンテナの状態確認:
bash
docker ps
grafanaという名前のコンテナがUp状態になっていれば成功です。
アクセス
どちらの方法でインストールした場合も、Webブラウザを開き、以下のURLにアクセスします。
http://<GrafanaがインストールされているサーバーのIPアドレスまたはホスト名>:3000
ローカルPCにインストールした場合は http://localhost:3000 です。
3. Grafanaへのログインと基本操作
WebブラウザでGrafanaにアクセスすると、ログイン画面が表示されます。
- 初期ユーザー名:
admin - 初期パスワード:
admin
初期ログイン時には、パスワードの変更を求められます。セキュリティのため、必ず新しいパスワードを設定してください。
ログイン後、Grafanaのメイン画面が表示されます。左側にナビゲーションメニューがあります。
- Search dashboards: 既存のダッシュボードを検索
- Create: 新しいダッシュボードやパネルを作成
- Dashboards: ダッシュボード一覧やプレイリストなど
- Explore: データソースを探索し、アドホックなクエリを実行
- Alerting: アラートの設定・管理
- Configuration: データソース、ユーザー、プラグインなどの設定
- Server Admin (管理者のみ): ユーザー、組織、設定の管理
まずは、「Configuration」メニューから「Data sources」に進み、Grafanaに表示させたいデータの場所(データソース)を登録します。
4. データソースの接続
Grafanaは、単体ではデータを持ちません。外部のデータソースからデータを取得して表示します。ダッシュボードを作成する前に、まずはデータの取得元を設定する必要があります。
データソースの追加手順
- 左側のメニューから「Configuration (設定)」を選択します。
- 「Data sources (データソース)」を選択します。
- 画面上部の「Add data source (データソースの追加)」ボタンをクリックします。
- 利用可能なデータソースの一覧が表示されます。Prometheus, InfluxDB, MySQLなど、接続したいデータソースの種類を選択します。
ここでは例として、監視分野でよく利用されるPrometheusという時系列データベースをデータソースとして追加する手順を説明します。Prometheus自体が別途インストール・起動されている前提です。
例: Prometheusデータソースの追加
- データソースの種類で「Prometheus」を選択します。
- 設定画面が表示されます。最低限必要なのは以下の項目です。
- Name: データソースの名前(例:
MyPrometheus)。ダッシュボード作成時にこの名前でデータソースを選択します。 - URL: Prometheusサーバーのアドレス(例:
http://localhost:9090またはhttp://<PrometheusサーバーのIP>:9090)。
- Name: データソースの名前(例:
- 画面下部の「Save & Test (保存してテスト)」ボタンをクリックします。
- 接続に成功すると、「Data source is working」といったメッセージが表示されます。
これで、GrafanaからPrometheusに保存されているデータを参照できるようになりました。他のデータソース(InfluxDB, MySQLなど)でも、基本的な手順は同じです。データソースの種類によって設定項目は異なりますが、接続先のURLや認証情報などを入力することが多いです。
5. ダッシュボードの作成とパネルの追加
いよいよGrafanaのメイン機能であるダッシュボード作成です。ダッシュボードは、複数のグラフや表示要素(パネル)を集めたものです。
新しいダッシュボードの作成
- 左側のメニューから「Create (作成)」を選択します。
- 「Dashboard (ダッシュボード)」を選択します。
- 新しい空のダッシュボード画面が表示されます。
- 「Add visualization (可視化の追加)」または「Add Panel (パネルを追加)」ボタンをクリックします。
パネルの追加と設定
パネルはダッシュボードを構成する最小単位で、一つのグラフやテーブルなどを表示します。
パネルを追加すると、「Panel options」という設定画面が表示されます。この画面は主に以下のセクションに分かれています。
-
Query (クエリ):
- ここでどのデータソースから、どのようなデータを取得するかを定義します。
- まず「Data source」ドロップダウンから、先ほど設定したデータソースを選択します(例:
MyPrometheus)。 - その下のエリアに、選択したデータソースに応じたクエリを入力します。例えばPrometheusならPromQLというクエリ言語を使います。
- 例 (Prometheus): サーバーのCPU使用率を取得するクエリの一部 (
node_cpu_seconds_totalというメトリクスを仮定)。
promql
rate(node_cpu_seconds_total{mode="idle"}[5m])
(このクエリは「5分間の平均で、CPUがアイドル状態だった時間の割合」を取得します。実際のCPU使用率とは逆の値になりますが、Prometheus入門としてはよく使われるメトリクスです。) - クエリを入力すると、画面下部にグラフのプレビューが表示されます。
- 複数のクエリ(A, B, C…)を追加して、同じパネルに複数の系列を表示することも可能です。
- 画面右上の「Query Inspector」ボタンは、クエリの実行状況や結果を詳しく見ることができ、デバッグに非常に役立ちます。
-
Transform (変換):
- 取得したデータを表示に適した形に変換する機能です。
- 例えば、複数の系列を結合したり、不要なフィールドを削除したり、計算を行ったりできます。「Organize fields」で表示順序や名前を変更したり、「Add field from calculation」で新たな計算結果のフィールドを追加したりなどが可能です。
- 初心者の方は最初はスキップしても大丈夫です。
-
Visualization (可視化):
- データの表示形式を選択します。デフォルトは「Time series (時系列)」グラフですが、他にも様々な種類があります。
- Graph / Time series: 時間に伴う変化を表示する折れ線グラフ、棒グラフなど。
- Stat: 単一の数値(現在の値、合計、平均など)を大きく表示。
- Gauge: ゲージとして目標値に対する進捗などを表示。
- Table: 表形式でデータを表示。
- Heatmap: 時間と値の分布を色で表示。
- その他多数のパネルタイプがあります。表示したいデータの種類に合わせて選択します。
-
Panel options (パネルオプション):
- 選択した可視化の種類に応じた詳細設定を行います。
- Title: パネルのタイトルを設定します(例:
サーバーCPUアイドル率)。 - Description: パネルの説明を記述できます。
- Units: データの単位を設定します(例:
percent (0-100))。単位を設定すると、Y軸のラベルやツールチップ表示が適切になります。 - Min/Max: Y軸の最小値・最大値を固定できます。
- Thresholds: 特定の値を超えたら色を変えるなどの閾値表示を設定できます(例: アイドル率が10%を下回ったら赤色にする)。
- Legend: グラフの凡例の表示方法を設定します。
- 他にも軸の表示設定、ツールチップ、データリンクなど、多くの設定項目があります。
パネルの保存とダッシュボードへの追加
- Panel options画面で設定が終わったら、画面右上の「Apply (適用)」ボタンをクリックします。
- 設定したパネルがダッシュボードに追加されます。
- 続けて「Add Panel」ボタンから別のパネルを追加したり、既存のパネルを複製して修正したりできます。
ダッシュボードの保存
- ダッシュボードの編集が終わったら、画面上部の保存アイコン(フロッピーディスクの形)をクリックします。
- ダッシュボードの名前を入力し、「Save (保存)」をクリックします。フォルダを作成して分類することも可能です。
これで、あなたの最初のダッシュボードが完成しました!
6. ダッシュボードの操作
作成したダッシュボードには、いくつかの便利な操作機能があります。
- 時間範囲の変更: 画面右上の時間範囲セレクター(例:
Last 6 hours)をクリックすると、表示する期間を変更できます。過去5分、1時間、24時間、7日間などのプリセットや、カスタム範囲の指定が可能です。この設定はダッシュボード全体に適用されます。 - 自動更新: 時間範囲セレクターの隣にある更新間隔設定(例:
5s)をクリックすると、ダッシュボードの表示を定期的に自動更新できます。リアルタイムに近い監視を行う場合に便利です。 - パネルの配置変更: パネルのタイトルバーをドラッグ&ドロップすることで、自由に配置を入れ替えたり、サイズを変更したりできます。
- パネルの操作: 各パネルのタイトルバーにマウスカーソルを合わせると、メニューが表示されます。ここから「Explore」で詳細を確認したり、パネルを編集・複製・削除したりできます。
7. その他の便利な機能 (初心者向け)
- Explore:
- ダッシュボードにパネルを追加する前に、データソースに対してクエリを試しに実行し、結果を確認するのに非常に便利な機能です。左メニューから「Explore」を選択し、データソースとクエリを指定します。デバッグやアドホックな分析に活用しましょう。
- Import Dashboard:
- Grafanaコミュニティや各種プロジェクト(Kubernetes, Prometheus Node Exporterなど)は、事前に作成された便利なダッシュボードを公開しています。これらのダッシュボードをGrafanaにインポートして利用できます。Grafana Labsの公式ウェブサイト(https://grafana.com/grafana/dashboards/)などで、目的のデータソースやアプリケーションに対応したダッシュボードを探してみましょう。インポートは左メニューの「Dashboards」→「Import」から行います。ダッシュボードIDやJSONファイルを指定してインポートできます。
8. トラブルシューティングと学び方
- 接続できない: データソースのURLや認証情報が正しいか、Grafanaサーバーからデータソースにネットワーク的に到達可能か(ファイアウォールなど)を確認してください。
- データが表示されない:
- データソースの設定は正しいか?
- パネルのクエリは正しいか?(Explore機能でクエリを試してみるのが有効です)
- データソース自体に目的のデータが保存されているか?
- パネルの時間範囲設定は適切か?
- Grafanaサーバーのログを確認すると、エラーメッセージが表示されていることがあります。
- 公式ドキュメント: Grafanaの公式ドキュメント(https://grafana.com/docs/)は非常に充実しています。困ったときはまず公式ドキュメントを参照しましょう。
- コミュニティ: GrafanaコミュニティフォーラムやStack Overflowなどでも多くの情報が共有されています。
- データソースの学習: 効果的なダッシュボードを作成するには、利用するデータソース(Prometheus, InfluxDBなど)の基本的な使い方やクエリ言語を学ぶことも重要です。
9. まとめと次のステップ
この記事では、Grafanaの基本的な概念から、インストール、データソース接続、そして最も重要なダッシュボード作成のステップを解説しました。
- Grafanaは様々なデータを「見える化」するのに役立つ強力なツールです。
- 導入方法はいくつかありますが、Dockerが手軽でおすすめです。
- Grafanaは単体ではデータを持ちません。まずデータソースを接続する必要があります。
- ダッシュボードは複数のパネルで構成され、パネルごとにデータソース、クエリ、表示形式を設定します。
- Explore機能やダッシュボードのインポート機能も活用しましょう。
Grafanaの世界は非常に奥深く、アラート設定、変数を使った動的なダッシュボード、権限管理、プラグインによる機能拡張など、様々な機能があります。
まずは、この記事で解説した基本的な手順を繰り返し試してみてください。ご自身の環境で取得できる様々なデータをGrafanaで表示してみることから始めて、少しずつ機能を使いこなせるようになっていきましょう。
システムの「見える化」は、安定稼働や改善の第一歩です。Grafanaをあなたの監視・分析活動にぜひ役立ててください!