Docker を使用してコンテナーの監視とパフォーマンス分析を行う方法

WBOY
リリース: 2023-11-08 09:54:43
オリジナル
1320 人が閲覧しました

Docker を使用してコンテナーの監視とパフォーマンス分析を行う方法

Docker をコンテナの監視とパフォーマンス分析に使用する方法

概要:
Docker は、アプリケーションとその依存関係を分離する人気のコンテナ化プラットフォームです。スタンドアロンのコンテナーで実行するアプリケーション。ただし、コンテナーの数が増加するにつれて、コンテナーの監視とパフォーマンス分析の重要性が増します。この記事では、Docker を使用してコンテナーの監視とパフォーマンス分析を行う方法を紹介し、具体的なコード例をいくつか示します。

  1. Docker 独自のコンテナ監視ツールを使用する
    Docker は、コンテナのステータスとパフォーマンス インジケータを簡単に表示できる独自のコンテナ監視ツールをいくつか提供しています。

1.1 Docker Stats コマンド
Docker Stats コマンドを使用すると、CPU、メモリ、ネットワーク、ディスクなど、コンテナーのリソース使用状況をリアルタイムで表示できます。

サンプル コード:

docker stats [container_name]
ログイン後にコピー

1.2 Docker Top コマンド
Docker Top コマンドは、コンテナ内で実行されているプロセスとリソースの使用状況を表示できます。

サンプル コード:

docker top [container_name]
ログイン後にコピー
  1. コンテナの監視にサードパーティ ツールを使用する
    Docker 独自の監視ツールに加えて、コンテナを監視および監視できるサードパーティ ツールもいくつかあります。コンテナのパフォーマンスをより包括的に分析します。

2.1 cAdvisor
cAdvisor は、コンテナーのリソース使用状況とパフォーマンス指標を提供できるオープンソースのコンテナー監視ツールです。

サンプルコード:

① cAdvisor をインストールします

docker run -d --name=cadvisor --privileged=true -p 8080:8080 -v /var/run/docker.sock:/var/run/docker.sock google/cadvisor:latest
ログイン後にコピー

② cAdvisor の監視情報を確認します

ブラウザを開いて http:// と入力しますlocalhost :8080 で監視情報を確認できます。

2.2 Prometheus
Prometheus は、構成を通じてコン​​テナーを監視し、視覚的な監視パネルを提供できるオープンソース監視システムです。

サンプルコード:

① Prometheus のインストール

git clone https://github.com/prometheus/prometheus.git
cd prometheus
make build
ログイン後にコピー

② Prometheus の設定

次の内容を Prometheus 設定ファイル prometheus.yml に追加します。

scrape_configs:
  - job_name: 'docker'
    metrics_path: '/metrics'
    static_configs:
      - targets: ['<docker_host>:<exporter_port>']
ログイン後にコピー

③ Prometheus を起動します

./prometheus --config.file=prometheus.yml
ログイン後にコピー

④ Prometheus の監視パネルを表示します

ブラウザを開いて

http://localhost:9090 と入力して監視パネルを表示します。

    コンテナのパフォーマンス分析
  1. コンテナのステータスとパフォーマンス指標を監視することに加えて、コンテナのパフォーマンス分析を実行して、パフォーマンスのボトルネックを特定し、最適化することもできます。
3.1 Docker の統計 API を使用してコンテナーのパフォーマンス指標を取得する

Docker は、コンテナーのパフォーマンス指標を取得するための統計 API を提供します。

サンプル コード:

import docker

client = docker.from_env()
container = client.containers.get('container_id')

stats = container.stats(stream=False)
print(stats)
ログイン後にコピー

3.2 コンテナーのパフォーマンス分析に FlameGraph を使用する

FlameGraph は、CPU 使用率に基づいてフレーム グラフを生成し、パフォーマンスの問題の特定に役立てることができるオープンソースのパフォーマンス分析ツールです。

サンプルコード:

① FlameGraph をインストールします

git clone https://github.com/brendangregg/FlameGraph.git
ログイン後にコピー

② パフォーマンス分析を実行します

docker run -d --name=performance_container <image>
docker cp ./FlameGraph/perf-map-agent/build/lib/linux-x64/libperfmap.so performance_container:/tmp/libperfmap.so
docker exec -it performance_container /bin/bash
cd /tmp
perf record -F 99 -e cpu-clock -g -- /usr/bin/java -agentpath:/tmp/libperfmap.so ...
perf script | stackcollapse-perf.pl | flamegraph.pl > flamegraph.svg
ログイン後にコピー
ブラウザを開いて

http://localhost と入力します。 8080/flamegraph.svg では、生成されたフレーム グラフを表示できます。

結論:

上記の紹介を通じて、コンテナの監視とパフォーマンス分析に Docker を使用する方法を学ぶことができます。 Docker 独自のツールを使用する場合でも、サードパーティ ツールを使用する場合でも、コンテナーのステータスとパフォーマンス インジケーターを簡単に表示できます。同時に、コンテナーのパフォーマンス分析を通じて、パフォーマンスのボトルネックを特定して最適化し、アプリケーションの安定性とパフォーマンスを向上させることができます。

以上がDocker を使用してコンテナーの監視とパフォーマンス分析を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート