Grafana

DockerでPrometheusとGrafanaを導入する手順

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

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

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

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

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

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

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

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

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

Beyond Careerに無料相談する

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


スポンサードリンク

Docker環境でのPrometheusとGrafanaの導入フロー

DockerでPrometheusとGrafanaを導入する際、正しいイメージ選定とComposeファイルの構成が後の運用に直結します。特にコンテナ間通信の設定ミスはトラブルの元になるため、事前にネットワーク構成を確認することが重要です。以下では、導入フローと必要な準備について詳しく解説します。

必要なDockerイメージの確認

PrometheusやGrafana、AlertManagerの公式イメージを使用することで安定性が確保されます。バージョン選定には信頼性に優れたリポジトリから最新かつ安定したものを選ぶことが推奨されます。以下に代表的なイメージとバージョンを示します:

サービス リポジトリ 推奨バージョン(2026年6月時点) 信頼性根拠
Prometheus prom/prometheus v2.47.1 公式リポジトリで維持されているバージョン
Grafana grafana/grafana 10.1.5 公式ドキュメントに記載された安定版
AlertManager prom/alertmanager v0.26.0 Prometheusプロジェクトで推奨されるバージョン

注意:公式リポジトリ以外のイメージは信頼性に欠けるため、導入は避けてください。

Docker Composeファイルの作成手順

Docker Composeファイルでは、各サービスのポートマッピングとネットワーク設定を明確に定義します。以下が基本的なテンプレートです:

ポイントnetworksセクションで専用ネットワークを作成することで、コンテナ間通信の安定性が向上します。また、非rootユーザー (user) 設定や読取り専用ボリュームを活用しセキュリティを強化してください。


AlertManagerのローカル環境構築方法

AlertManagerはPrometheusから受信したアラートを処理し、通知を管理するためのツールです。ローカルで動作させるにはDocker Composeファイルに正確な設定が必要です。以下では導入フローとGrafanaとの連携手順を解説します。

Docker Composeでのサービス定義

以下の手順でAlertManagerを構築してください:

  1. イメージ選定prom/alertmanager:v0.26.0 を使用
  2. ポートマッピング:外部アクセス用に 9093:9093 を設定
  3. ネットワーク接続monitoring-net とPrometheus/Grafanaを共有

AlertManagerのGrafana連携設定

以下のようにalertmanager.ymlを構成することで、AlertManagerがGrafanaと通信できるようになります:

注意urlの指定はGrafanaのWebhookエンドポイントに基づいてください。また、Docker Composeファイルでネットワーク設定を統一することで通信が可能になります。


PrometheusによるGrafana監視対象の登録

PrometheusはGrafanaのメトリクスを収集するため、scrape_configsに適切な設定を行う必要があります。以下では具体的な手順と確認方法を解説します。

scrape_configsの設定方法

Prometheusの構成ファイル(prometheus.yml)には以下のようにGrafanaを監視対象として登録します:

ポイントtargetsの値はDocker Composeで定義したGrafanaサービス名(例: grafana)を指定します。

ターゲットホストの確認手順

以下のようにコマンドラインで通信が可能か確認してください:

  1. curl http://localhost:3000/api/health を実行し、Grafanaが正常に応答するかを確認
  2. PrometheusのWeb UI(http://localhost:9090/targets)でGrafanaが「UP」状態になっていることを確認

Grafanaダッシュボードでのアラートルール作成

Grafanaでは可視化されたデータに対してアラートを設定できます。ここでは具体的な作業フローと連携方法を解説します。

アラート条件の定義方法

以下の手順でアラートルールを作成してください:

  1. ダッシュボードを開く:左メニューから任意のグラフを選択
  2. アラートルールを作成:右上にある「Add alert」ボタンをクリック
  3. 条件設定:以下のように数値条件を指定します
  4. Value: A > 90
  5. For: 5m(5分間継続して条件が満たされた場合にアラート)

通知先の設定手順

  1. Contact Pointsを登録Alerting > Contact pointsでWebhook URLなどを指定
  2. Notification Policyを作成Alerting > Notification policiesでルールごとの通知先を定義
  3. アラートルールと連携:作成したPolicyをアラートルールに割り当て

: CPU使用率が10%未満で5分間継続すると、LINEに通知する設定など


Docker Composeにおけるコンテナ間通信設定

Docker環境ではサービス名ベースの接続が可能ですが、ミスを防ぐためのベストプラクティスがあります。

サービス名ベースの接続方法

以下の2点に注意してください:

  1. ネットワークの統一networksで全サービスが同じネットワークに所属するように設定
  2. DNSリゾルバの利用:Dockerはサービス名を自動的にIPアドレスに解決します(例: http://grafana:3000

ネットワーク設定の最適化

  • カスタムネットワークを作成し、外部アクセスが不要なコンテナはinternalネットワークで分離
  • ポートマッピングを最小限に抑える:セキュリティリスクを軽減

外部通知システム(LINE等)との連携

アラート検知後の通知設定では、Webhook URLの取得とカスタムメッセージの作成が不可欠です。

Webhook URLの設定手順

  1. LINE Notify APIを準備:https://notify-bot.line.me/ でトークンを発行
  2. Webhook URLを作成https://api.notify.line.me/api/v2/bots/<bot_id>/push?access_token=<token> の形式でURLを構築

注意:誤ってPushbulletのURLが記載されていたため、LINE Notify APIに修正しました。

アラートメッセージのカスタマイズ

GrafanaのNotification Policy内で以下の例のようにテンプレートを指定できます:

ポイントAlertmanagerGrafanaの双方で通知設定を行うことで、複数チャネルへの送信が可能です。


まとめ

Docker環境での導入ではサービス名ベースのネットワーク構成を意識し、セキュリティ設定(非rootユーザーなど)も併せて実施することが重要です。PrometheusはGrafanaを監視対象として登録し、AlertManagerとの連携を確認してください。Grafanaでアラートルールを作成後、LINEなどの外部通知先と連携させることで、アラートの正確な伝達が可能になります。実装後に導入後のアラートテストを行って精度を検証してください。


スポンサードリンク

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

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

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

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

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

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

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

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

Beyond Careerに無料相談する

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


-Grafana