DockerイベントとシステムモニタリングD
docker events、docker stats、docker system infoでDockerをリアルタイム監視。コンテナライフサイクルイベント、リソース使用量、デーモン設定を追跡します。
System
詳細な説明
リアルタイムイベントストリーミング
docker eventsはDockerデーモンからイベントをリアルタイムでストリーミングします:
# すべてのイベントを監視
docker events
# イベントタイプでフィルタリング
docker events --filter type=container
# 特定のイベントでフィルタリング
docker events --filter event=start --filter event=stop --filter event=die
# コンテナでフィルタリング
docker events --filter container=my-app
# タイムスタンプ以降のイベントを表示
docker events --since "2024-01-15T10:00:00"
イベントタイプ
Dockerはcontainer、image、volume、network、daemon、plugin、node、secret、service、configのイベントを発行します。
docker statsによるリソースモニタリング
# 全コンテナのライブ統計
docker stats
# 特定コンテナの統計
docker stats web api db
# 単一スナップショット(スクリプト用)
docker stats --no-stream
# カスタムフォーマット
docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.MemPerc}}\t{{.NetIO}}\t{{.BlockIO}}"
システム情報
# 完全なシステム情報
docker system info
# 特定フィールド
docker info --format '{{.ServerVersion}}'
docker info --format '{{.MemTotal}}'
docker info --format '{{.NCPU}}'
docker info --format '{{.OperatingSystem}}'
ヘルスモニタリングパターン
# コンテナの死亡を監視
docker events --filter event=die --format '{{.Actor.Attributes.name}} died at {{.Time}}'
# コンテナがヘルシーかチェック
docker inspect --format '{{.State.Health.Status}}' my-app
ユースケース
本番環境でのコンテナヘルスのモニタリング、Dockerイベントに基づくアラートシステムの構築、コンプライアンスのためのコンテナライフサイクル監査、断続的なコンテナクラッシュのデバッグ。