CodeGym /コース /Docker SELF /組み込みモニタリングツール

組み込みモニタリングツール

Docker SELF
レベル 21 , レッスン 2
使用可能

3.1 コマンド docker stats

Docker はリアルタイムでコンテナをモニタリングするための組み込みツール、docker stats コマンドを提供してるよ。このコマンドを使うと、CPU 使用率、メモリ、ネットワーク、ディスクの使用量など、コンテナの重要なパフォーマンス指標を追跡できるんだ。それじゃあ、docker stats をどう使ってコンテナの状態やパフォーマンスを把握するか、見てみよう!

docker stats コマンドは、リアルタイムでのコンテナの動作に関する動的な統計情報を提供するよ。各コンテナについて次のような指標が表示されるんだ:

  • CPU %: コンテナの CPU 使用率。
  • MEM USAGE / LIMIT: コンテナによるメモリ使用量と設定されたリミット。
  • MEM %: コンテナによるメモリ使用率。
  • NET I/O: ネットワークトラフィック(受信と送信)。
  • BLOCK I/O: ディスクでの入出力操作数。
  • PIDS: コンテナ内で実行されているプロセス数。

docker stats コマンドの基本的な使い方

パラメータなしで docker stats を実行すると、すべての実行中のコンテナの指標が表示されるよ:

ターミナル


docker stats 

docker stats コマンドの出力例:

ターミナル


CONTAINER ID   NAME                CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
d9b100f2f636   my_nginx            0.07%     1.24MiB / 1.952GiB    0.06%     1.68kB / 0B       0B / 12.3MB       2
fa3f3f3f3f3f   my_postgres         2.13%     230.5MiB / 1.952GiB   11.52%    2.12MB / 2.05MB   85.6MB / 45.2MB   10

特定のコンテナをモニタリング

コンテナの名前や ID を指定すると、特定のコンテナに関する指標を追跡できるよ:

ターミナル


docker stats my_nginx 

3.2 docker statsコマンドの設定

docker statsコマンドのパラメータ

docker statsコマンドはいくつかのオプションをサポートしていて、データ出力をカスタマイズできます:

  • --all または -a: 停止したコンテナを含むすべてのコンテナのメトリクスを表示。
  • --no-stream: メトリクスを一度だけ表示してコマンドを終了。
  • --format: テンプレートを使用してデータ出力をカスタマイズ。

--no-streamパラメータの使用例

すべてのコンテナのメトリクスを一度だけ表示:

ターミナル

docker stats --no-stream

--formatパラメータの使用例

フォーマットされたデータ出力:

ターミナル

docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}"

出力例:

ターミナル

CONTAINER ID   CPU %     MEM USAGE / LIMIT
d9b100f2f636   0.07%     1.24MiB / 1.952GiB
fa3f3f3f3f3f   2.13%     230.5MiB / 1.952GiB

3.3 docker stats 実践的な使い方

例 1: サーバー負荷の監視

docker stats を使ってサーバー上のコンテナをモニタリングし、CPUやメモリに高い負荷がかかっているコンテナを特定することができるよ。これにより、リソースの使用を最適化し、アプリケーションのパフォーマンスを向上させる手助けになるよ。

ターミナル

docker stats

例 2: テスト中の特定のコンテナの監視

アプリケーションの新しいバージョンをテストしたり、設定を変更したりするとき、特定のコンテナのメトリクスを追跡して、パフォーマンスへの悪影響がないことを確認できるよ。

ターミナル

docker stats my_test_container

例 3: モニタリングシステムとの統合

docker stats の出力を外部のモニタリングシステムと統合することもできるよ。--format オプションを使うと、モニタリングツールと互換性のある出力形式を作成できる。

ターミナル

docker stats --no-stream --format "{{.Container}}: CPU {{.CPUPerc}}, MEM {{.MemUsage}}"

docker stats コマンドの制限

docker stats はリアルタイムで便利なメトリクスを提供してくれるけど、いくつかの制限があるよ:

  • メトリクスが限定的: コマンドは主要なメトリクスしか表示せず、コンテナの状態に関する詳細な情報は提供しない。
  • 手動使用: docker stats は手動で使うのには便利だけど、自動モニタリングやアラートには、Prometheus や Grafana といった専用ツールを使う方がいいよ。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION