Docker をコンテナの監視とパフォーマンス分析に使用する方法
概要:
Docker は、アプリケーションとその依存関係を分離する人気のコンテナ化プラットフォームです。スタンドアロンのコンテナーで実行するアプリケーション。ただし、コンテナーの数が増加するにつれて、コンテナーの監視とパフォーマンス分析の重要性が増します。この記事では、Docker を使用してコンテナーの監視とパフォーマンス分析を行う方法を紹介し、具体的なコード例をいくつか示します。
1.1 Docker Stats コマンド
Docker Stats コマンドを使用すると、CPU、メモリ、ネットワーク、ディスクなど、コンテナーのリソース使用状況をリアルタイムで表示できます。
サンプル コード:
docker stats [container_name]
1.2 Docker Top コマンド
Docker Top コマンドは、コンテナ内で実行されているプロセスとリソースの使用状況を表示できます。
サンプル コード:
docker top [container_name]
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 --config.file=prometheus.yml
http://localhost:9090 と入力して監視パネルを表示します。
Docker は、コンテナーのパフォーマンス指標を取得するための統計 API を提供します。
import docker client = docker.from_env() container = client.containers.get('container_id') stats = container.stats(stream=False) print(stats)
FlameGraph は、CPU 使用率に基づいてフレーム グラフを生成し、パフォーマンスの問題の特定に役立てることができるオープンソースのパフォーマンス分析ツールです。
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 サイトの他の関連記事を参照してください。