Container Insights を使用したシステムメトリクスの収集
システムメトリクスは、CPU、メモリ、ディスク、ネットワークインターフェイスなど、サーバー上の物理コンポーネントを含む低レベルのリソースに関連しています。
CloudWatch Container Insights を使用して、Amazon ECS にデプロイされたコンテナ化アプリケーションからシステムメトリクスを収集、集約、要約します。 Container Insights は、コンテナの再起動失敗などの診断情報も提供し、問題の特定と迅速な解決を支援します。 これは EC2 と Fargate にデプロイされた Amazon ECS クラスターで利用できます。
Container Insights は、埋め込みメトリクスフォーマット を使用してパフォーマンスログイベントとしてデータを収集します。 これらのパフォーマンスログイベントは、高カーディナリティデータをスケールに応じて取り込み、保存できる構造化された JSON スキーマを使用するエントリです。 このデータから、CloudWatch はクラスター、ノード、サービス、タスクレベルで集約されたメトリクスを CloudWatch メトリクスとして作成します。
CloudWatch で Container Insights のメトリクスを表示するには、Amazon ECS クラスターで Container Insights を有効にする必要があります。 これはアカウントレベルまたは個別のクラスターレベルで行うことができます。 アカウントレベルで有効にするには、次の AWS CLI コマンドを使用します:
aws ecs put-account-setting --name "containerInsights" --value "enabled
個別のクラスターレベルで有効にするには、次の AWS CLI コマンドを使用します:
aws ecs update-cluster-settings --cluster $CLUSTER_NAME --settings name=containerInsights,value=enabled
クラスターレベルとサービスレベルのメトリクスの収集
デフォルトでは、CloudWatch Container Insights はタスク、サービス、クラスターレベルでメトリクスを収集します。 Amazon ECS エージェントは、EC2 コンテナインスタンス上の各タスク(ECS on EC2 と ECS on Fargate の両方)のメトリクスを収集し、パフォーマンスログイベントとして CloudWatch に送信します。 クラスターにエージェントをデプロイする必要はありません。 メトリクスの抽出元となるこれらのログイベントは、/aws/ecs/containerinsights/$CLUSTER_NAME/performance という名前の CloudWatch ロググループに収集されます。 これらのイベントから抽出されるメトリクスの完全なリストはこちらに記載されています。 Container Insights が収集するメトリクスは、CloudWatch コンソールのナビゲーションページから Container Insights を選択し、ドロップダウンリストから performance monitoring を選択することで、事前に構築されたダッシュボードで簡単に確認できます。 また、CloudWatch コンソールの Metrics セクションでも確認できます。

Amazon EC2 インスタンス上で Amazon ECS を使用していて、Container Insights からネットワークとストレージのメトリクスを収集したい場合は、Amazon ECS エージェントバージョン 1.29 を含む AMI を使用してそのインスタンスを起動してください。
Container Insights で収集されるメトリクスはカスタムメトリクスとして課金されます。CloudWatch の料金について詳しくは、Amazon CloudWatch の料金 をご覧ください。