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 といった専用ツールを使う方がいいよ。
GO TO FULL VERSION