ホームページ  >  記事  >  運用・保守  >  Linux での Docker コンテナ監視: コンテナの実行ステータスをリアルタイムで監視するにはどうすればよいですか?

Linux での Docker コンテナ監視: コンテナの実行ステータスをリアルタイムで監視するにはどうすればよいですか?

WBOY
WBOYオリジナル
2023-07-28 21:09:211795ブラウズ

Linux での Docker コンテナ監視: コンテナの実行ステータスをリアルタイムで監視するにはどうすればよいですか?

はじめに:
コンテナ テクノロジの広範な適用により、Docker は最も人気のあるコンテナ化プラットフォームの 1 つになりました。ただし、コンテナを作成して実行するだけでは十分ではなく、コンテナを監視して安定した動作を確保することが重要です。この記事では、Linux プラットフォーム上で Docker コンテナの実行ステータスをリアルタイムで監視する方法と、対応するコード例を紹介します。

1. Docker コンテナ監視の重要性
Docker コンテナを監視することで、コンテナの CPU 使用率、メモリ使用量、ネットワーク トラフィック、ディスク IO およびその他の指標をリアルタイムで追跡できます。潜在的な問題をタイムリーに発見して解決します。同時に、モニタリングはリソース使用率を最適化し、システム全体のパフォーマンスを向上させるのにも役立ちます。

2. cAdvisor を使用して Docker コンテナを監視する
cAdvisor は、コンテナのリソース使用状況を監視するために特に使用されるオープン ソース ツールです。 Docker ホスト上の Docker API を介して Docker エンジンと通信し、コンテナ内のさまざまなインジケーターを収集できます。

  1. cAdvisor のインストール
    Linux システムに cAdvisor をインストールするのは非常に簡単です。次のコマンドを使用してインストールできます。
docker run 
  --volume=/:/rootfs:ro 
  --volume=/var/run:/var/run:rw 
  --volume=/sys:/sys:ro 
  --volume=/var/lib/docker/:/var/lib/docker:ro 
  --publish=8080:8080 
  --detach=true 
  --name=cadvisor 
  google/cadvisor:latest

このコマンドは、cAdvisor コンテナをローカルで起動し、ホストの 8080 ポートにマップします。

  1. 監視結果の表示
    ブラウザで http://localhost:8080 にアクセスして、cAdvisor 監視インターフェイスを表示します。このインターフェイスは、CPU、メモリ、ネットワーク、ディスクなど、コンテナーのさまざまなインジケーターを表示できます。

3. Docker API を使用してコンテナを監視する
cAdvisor の使用に加えて、Docker API を通じてコン​​テナの実行ステータスを監視することもできます。 Docker API は、コンテナー情報をクエリおよび管理するための一連のインターフェイスを提供します。

  1. Docker SDK for Python のインストール
    まず、Docker SDK for Python をインストールする必要があります。これは、Docker によって公式に提供され、Docker API と対話するために使用される Python ライブラリです。次のコマンドを使用してインストールできます:
pip install docker
  1. コードを使用したコンテナの監視
    Docker SDK for Python を使用してコンテナを監視するサンプル コードを次に示します:
import docker

def monitor_container(container_id):
    client = docker.from_env()
    container = client.containers.get(container_id)
    
    stats = container.stats(stream=True)
    for stat in stats:
        # 处理容器的统计数据
        print(stat)

このコードは、まず docker.from_env() を使用して Docker クライアント インスタンスを作成し、次に client.containers.get(container_id) を通じて指定されたコンテナ オブジェクトを取得します。次に、container.stats(stream=True) を通じてコン​​テナのリアルタイム統計データを取得し、それに応じて処理します。

4. 概要
この記事では、Linux 上で Docker コンテナの実行状況をリアルタイムで監視する方法を紹介します。 cAdvisor と Docker API を使用することで、コンテナーのさまざまな指標を簡単に取得し、それに応じてパフォーマンスの最適化とトラブルシューティングを実行できます。この記事が Docker コンテナの監視を理解するのに役立つことを願っています。

コード サンプルと API ドキュメントについては、次のリンクを参照してください:

  • cAdvisor: https://github.com/google/cadvisor
  • Docker SDK Python の場合: https://docker-py.readthedocs.io/

以上がLinux での Docker コンテナ監視: コンテナの実行ステータスをリアルタイムで監視するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。