
システム監視とデータ可視化は、現代のIT運用において欠かせない要素です。本記事では、オープンソースの監視ツールPrometheusと、データ可視化ツールGrafanaの連携について詳しく解説します。
これらのツールを組み合わせることで、システムの健全性を効果的に監視し、問題を迅速に特定できるようになるでしょう。DevOpsエンジニアやシステム管理者の方々にとって、業務効率の向上とシステムの安定運用に役立つのでぜひお読みください。
目次
Prometheusとは
Prometheusは、オープンソースの監視システムおよび時系列データベースです。主に、システムやアプリケーションのメトリクスを収集し、分析するために使用されます。Prometheusの特徴は、プル型のアーキテクチャを採用していることで、監視対象からHTTPエンドポイントを通じてメトリクスを取得します。
時系列データの保存と検索に最適化されており、多次元データモデルを使用してメトリクスを効率的に管理するのが特徴です。
Prometheusのアーキテクチャは、データ収集、保存、可視化の各コンポーネントから構成されています。主要なコンポーネントには、Prometheus Server、Exporters、Alertmanager、PushGatewayなどがあり、それぞれが監視システムの重要な役割を担っています。

Prometheusは柔軟性が高く、様々な環境での監視に適しており、特にKubernetesなどのコンテナ環境との相性が良いことで知られています。
Grafanaとは
Grafanaは、データの可視化と分析を行うためのオープンソースのプラットフォームです。多様なデータソースと連携し、美しく柔軟なダッシュボードを作成できることが特徴です。
Prometheus、InfluxDB、Elasticsearchなど、様々なデータベースやモニタリングツールからデータを取り込み、グラフやチャートとして表示できます。ユーザーは直感的なインターフェースを通じて、カスタマイズ可能なダッシュボードを簡単に作成できます。
また、アラート機能も備えており、設定した閾値を超えた場合に通知を送ることができます。Grafanaにはオープンソース版とエンタープライズ版があり、エンタープライズ版では高度なセキュリティ機能や専門的なサポートが提供されます。
PrometheusはGrafanaとの連携がおすすめ
PrometheusはGrafanaを連携させると可能性が大きく広がります。
Prometheusの標準UIは機能が限られていますが、Grafanaと組み合わせることで、柔軟で高度な可視化が可能になるのです。Grafanaの豊富なグラフ機能やダッシュボード作成機能によって、Prometheusの複雑なメトリクスも直感的に把握できるようになります。
また、アラート機能や複数データソースの統合など、Grafanaならではの機能も利用可能です。一般的な利用シーンとしては、マイクロサービスアーキテクチャの監視やクラウドインフラの可視化などが挙げられます。多くの企業がこの組み合わせを採用し、システムの健全性や性能を効果的に監視しています。PrometheusとGrafanaの連携は、現代のITインフラ監視において強力なソリューションとなっています。
PrometheusとGrafanaを組み合わせて使う方法
PrometheusとGrafanaを組み合わせて使うには、まず両ツールをインストールし、適切に設定する必要があります。環境構築から運用開始までの流れとしては、以下の通りです。
- Prometheusのセットアップ
- メトリクス収集の設定
- Grafanaのインストール
- データソースの追加、
- ダッシュボードの作成
一見やることが多く見えますが、一つずつ順を追って実行すれば難しくありません。ここから各ステップについて詳しく見ていきましょう。
KAGOYA CLOUD VPSではPrometheusのテンプレートを利用でき、初めからGrafanaがセットされている状態で運用開始できます。
自分で初めから構築する必要がないため時短になるだけではなく、日額20円から利用可能とコスパの面でも喜ばれています。

Prometheusとは?メリット・デメリットから基本的な使い方までわかりやすく解説
システムを監視するためのツールは、有料・無料のものを含めて数多くの種類があります。 そのなかでも、無料のシステム監視ツールとして人気が高いのがPrometheusです。システム監視を開始する際、Prometheusはまず検討すべき選択肢のひとつと言えます。 この記事では、Prometheusとは何かといった概要からメリット・デメリット、基本的な使い方までわかりやすく解説しました。 この記事を読むこ…
1.Prometheusのインストール・設定
Prometheusのインストールは、公式サイトからバイナリをダウンロードして解凍するだけで簡単に行えます。
①Prometheus専用のシステムユーザーを作ります。
$ sudo adduser -M -r -s /sbin/nologin prometheus

②Prometheusの設定ファイル用ディレクトリとデータ格納用ディレクトリを作成します。
$ sudo mkdir /etc/prometheus
$ sudo mkdir /var/lib/prometheus

③/usr/srcフォルダなどに、Githubからアーカイブをダウンロードします。アーカイブのリストは公式サイトにあります。自分の環境のCPUに合った最新バージョンを選びましょう。ここでは例としてx86_64のバージョン3.0.1を選びます。
$ cd /usr/src
$ wget https://github.com/prometheus/prometheus/releases/download/v3.0.1/prometheus-3.0.1.linux-amd64.tar.gz

④アーカイブを解凍します。
tar -xf prometheus-3.0.1.linux-amd64.tar.gz

⑤環境変数を設定します。
export PROM_SRC=/usr/src/prometheus-*
⑥Prometheusの設定ファイルを/etc/prometheus/にコピーします。
sudo cp $PROM_SRC/prometheus.yml /etc/prometheus/

⑦prometheus.ymlをエディタで開き、以下の部分の内容を変更します。
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"] ←ここのlocalhostをサーバーのIPアドレスに変更する。

⑧prometheusのバイナリを/usr/local/bin/にコピーします。
sudo cp $PROM_SRC/prometheus /usr/local/bin/
sudo cp $PROM_SRC/promtool /usr/local/bin/

⑨/etc/prometheusと/var/lib/prometheusの所有権を最初に作ったユーザーprometheusに変更します。
sudo chown prometheus:prometheus /etc/prometheus
sudo chown prometheus:prometheus /var/lib/prometheus

⑩Prometheus用のsystemdユニットファイル/etc/systemd/system/prometheus.serviceをエディタで作成し、以下の内容を保存します。
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus \
--config.file /etc/prometheus/prometheus.yml \
--storage.tsdb.path /var/lib/prometheus/ \
--web.console.templates=/etc/prometheus/consoles \
--web.console.libraries=/etc/prometheus/console_libraries
[Install]
WantedBy=multi-user.target

⑪サービスを有効化させます。
sudo systemctl daemon-reload
sudo systemctl enable --now prometheus
sudo systemctl status prometheus

⑫ブラウザから[https://IPアドレス:9090]にアクセスするとprometheusの管理画面が表示されます。

2.監視対象のアプリケーションのメトリクス公開
Prometheusで監視するには、対象アプリケーションやシステムのメトリクスをPrometheus形式で出力する「Exporter」が必要です。Exporterは、さまざまなサービスやホスト上の情報を収集し、Prometheusが理解できるフォーマットで提供します。
ここでは、代表的なExporterである「Node Exporter」を例にインストールしてみましょう。
①Node Exporterのリリースページで最新安定版を確認します。
②最新安定版をダウンロードします。
$ cd /tmp
$ wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz

③アーカイブを解凍します。
$ tar xzvf node_exporter-1.8.2.linux-amd64.tar.gz
④バイナリをシステムパスに移動します。
$ sudo mv node_exporter-1.8.2.linux-amd64/node_exporter /usr/local/bin/

⑤node expoeterのシステムユーザーを作成します。
$ sudo useradd --no-create-home --shell /bin/false node_exporter
⑥バイナリに所有権を設定します。
$ sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter

⑦node_exporterのサービスファイルを作成します。
/etc/systemd/system/node_exporter.serviceに以下の内容を記載し保存します。
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target

⑧デーモンをリロードし、サービスを起動します。
$ sudo systemctl daemon-reload
$ sudo systemctl start node_exporter
$ sudo systemctl enable node_exporter

⑨ファイアウォールを設定します。
$ sudo firewall-cmd --permanent --add-port=9100/tcp
$ sudo firewall-cmd --reload

⑩Prometheus側の設定をします。
/etc/prometheus/prometheus.ymlのscrape_configs:の部分にターゲットの設定を追加します。
- job_name: 'node_exporter'
static_configs:
- targets: [localhost:9100']

⑪Prometheusをリスタートします。
$ sudo systemctl restart prometheus

⑫Prometheusの管理画面でターゲットにNode Exporterが追加されていれば成功です。

3.Grafanaのインストール・設定
ここからはGrafanaのインストールから初期設定、管理者アカウントの設定、およびPrometheusデータソースの追加方法までをステップ順に説明します。
①Grafanaのリポジトリを追加します。以下のコマンドを入力しましょう。
$ sudo cat <<EOF | sudo tee /etc/yum.repos.d/grafana.repo
[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
EOF

②Grafanaをインストールします。OSやディストリビューションによってコマンドが変わりますので注意してください。以下はAlmaLinux9の例です。
$ sudo dnf install grafana -y

③Grafanaを起動し、自動起動を有効化します。
$ sudo systemctl start grafana-server
$ sudo systemctl enable grafana-server

④ファイアウォールでGrafana用のポート(デフォルト3000番)を開放します。
$ sudo firewall-cmd --permanent --add-port=3000/tcp
$ sudo firewall-cmd --reload

⑤ブラウザでhttp://<サーバーIP>:3000にアクセスするとGrafanaのログイン画面が表示されます。

⑥初回ログインは以下のデフォルトアカウントが利用できます。
- username:admin
- password:admin
ログイン後、すぐにパスワード変更画面が表示されるため、新しいパスワードを設定しましょう。
⑦Prometheusをデータソースとして追加します。
Grafanaのサイドバー左側にある「Connections」をクリックし、「Data Sources」の中から「Prometheus」を選択します。

⑧Connectionの欄にPrometheusのエンドポイント(例:http://:9090)を入力し、最下部の「Save & Test」をクリックします。

これでGrafanaからPrometheusのメトリクスにアクセスできるようになりました。これにより、Prometheusで収集したメトリクスをGrafanaで美しく可視化・監視することができます。
4.Grafanaでのダッシュボード作成
ここからはダッシュボードを作成してみましょう。
①サイドバーからDashboardsを選びます。

②右上のNewから「New Dashboard」を選びます。

③中央に表示されている「Add Visualization」のボタンを押します。

④Data sourceからprometheusを選び、下部のMetricから監視したいメトリックを選びます。

⑤わかりやすいグラフによってメトリックが可視化されます。

5.作成したダッシュボードの公開
Grafanaでは、作成したダッシュボードを共有して、他のユーザーがアクセスできるようにする方法があります。ここでは、Grafanaの「共有(Snapshots)機能」を用いてダッシュボードを一時的に公開する手順を、ステップ順で説明します。
ユーザー管理
①サイドバーからAdministration>Users and Access>Usersを開きます。
②「New user」をクリックし、ユーザーを組織に追加します。

スナップショットの共有設定
①共有したいダッシュボードを開きます。
②右上にある「Share」アイコンをクリックします。

③「Snapshot」タブへ切り替えます。次に、Expireを選び、「Publish Snapshot」ボタンをクリックします。

④発行されたURLでアクセスできます。

まとめ
PrometheusとGrafanaを組み合わせることで、効果的なモニタリングと可視化が実現できます。Prometheusがデータを収集し、Grafanaがそれを美しく表示することで、システムの状態を一目で把握できるようになります。
設定は少し手間がかかりますが、一度構築すれば運用が容易になり、問題の早期発見や迅速な対応が可能になります。
両ツールの連携により、システム監視の質が大幅に向上し、安定したサービス提供につながります。

Prometheusとは?メリット・デメリットから基本的な使い方までわかりやすく解説
システムを監視するためのツールは、有料・無料のものを含めて数多くの種類があります。 そのなかでも、無料のシステム監視ツールとして人気が高いのがPrometheusです。システム監視を開始する際、Prometheusはまず検討すべき選択肢のひとつと言えます。 この記事では、Prometheusとは何かといった概要からメリット・デメリット、基本的な使い方までわかりやすく解説しました。 この記事を読むこ…