Docker コンテナを監視することは、アプリケーションの健康、性能、セキュリティを維持するために不可欠です。この目的のために 2 つの人気のあるツールは、Prometheus と Grafana です。 一緒に、リアルタイムのメトリックの視覚化とアラートの強力なオープンソースソリューションを提供します。

プロメテウスとは?

Prometheusは、メトリクスをタイムシリーズデータとして収集し保存するためのオープンソース監視システムです。 高度に構成可能で、多次元データ収集をサポートし、Dockerのようなコンテナ化された環境を監視するのに理想的です。

Grafanaとは?

Grafanaはオープンソースの分析と可視化プラットフォームです。 Prometheusとシームレスに統合し、ユーザーはDockerコンテナからリアルタイムのメトリックを表示できるダイナミックなダッシュボードを作成できます。 Grafanaは、グラフ、チャート、アラートなど、複雑なデータを簡単に解釈できます。

Dockerコンテナの監視の設定

Prometheus と Grafana で Docker コンテナを監視するには、次の手順を実行します。

  • Docker と Docker Compose をサーバーにインストールします。
  • Prometheus、Gラフナ、Node Exporter を含む Docker Compose ファイルを作成します。
  • Prometheus を Docker コンテナと Node Exporter からスクレイピングするメトリックを設定します。
  • Grafanaダッシュボードを設定して、収集したメトリックを視覚化します。

サンプル Docker 構成を構成します

ここでは、PrometheusとGラフナを設定するためのDocker Composeファイルの例を示します。

version: '3'
services:
 prometheus:
 image: prom/prometheus
 volumes:
 - ./prometheus.yml:/etc/prometheus/prometheus.yml
 ports:
 - "9090:9090"
 grafana:
 image: grafana/grafana
 ports:
 - "3000:3000"
 node-exporter:
 image: prom/node-exporter
 ports:
 - "9100:9100"

Prometheus の設定

prometheus.yml[ 設定ファイルを作成すると、DockerコンテナとNode Exporterを含むスクレイプターゲットを指定します。

global:
 scrape_interval: 15s
scrape_configs:
 - job_name: 'docker'
 static_configs:
 - targets: ['localhost:9090']
 - job_name: 'node'
 static_configs:
 - targets: ['localhost:9100']

Grafana のデータ可視化

Prometheus がデータを収集したら、 ]http://localhost:3000]] で Grafana にアクセスします。 デフォルト認証 (admin/admin) を使用してログインします。 次に、 Prometheus をデータソースとして追加し、CPU、メモリ、ネットワークの使用などのコンテナメトリックを監視するためのダッシュボードを作成します。

PrometheusとGラフナによるDockerの監視の利点

  • コンテナ性能へのリアルタイムのインサイト
  • ユーザーがユーザーに影響を与える前に問題に対する積極的な警告
  • 容量計画のための履歴データ分析
  • カスタマイズ可能なダッシュボードで、環境に合わせた

Prometheus と Grafana で監視を実施することで、開発者やシステム管理者は、Dockerized アプリケーションが、ダウンタイムを最小限に抑え、リソースの使用を最適化することで、スムーズかつ効率的に実行できるようにします。