

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon ECS のメトリクス
<a name="ecs-metrics"></a>

Amazon ECS コンテナエージェントを使用したクラスターおよびサービスレベルでの EC2 および Fargate 起動タイプ (CPU およびメモリ使用率など)で、[Amazon ECS は標準の CloudWatch メトリクスを提供します。](https://docs.aws.amazon.com//AmazonECS/latest/developerguide/cloudwatch-metrics.html)CloudWatch Container Insights を使用してサービス、タスク、およびコンテナのメトリクスをキャプチャしたり、組み込みメトリクス形式を使用して独自のカスタムコンテナメトリクスをキャプチャすることもできます。

Container Insights はクラスターレベル、コンテナインスタンス、サービス、タスクレベルで CPU 使用率、メモリ使用率、ネットワークトラフィック、ストレージなどのメトリックスを提供するCloudWatch 機能です。Container Insights では、サービスとタスクを分析し、コンテナレベルで平均メモリまたは CPU 使用率を確認するのに役立つ自動ダッシュボードも作成します。コンテナインサイトは、カスタム指標を `ECS/ContainerInsights` [カスタム名前空間](https://docs.aws.amazon.com//AmazonECS/latest/developerguide/cloudwatch-metrics.html) グラフ、アラーム、およびダッシュボードに使用できます。

個々の Amazon ECS クラスターでコンテナインサイトを有効にすることで、コンテナインサイトメトリクスを有効にすることができます。コンテナインスタンスレベルでメトリクスを表示する場合は、[Amazon ECS クラスターで CloudWatch エージェントをデーモンコンテナとして起動します](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/deploy-container-insights-ECS-instancelevel.html)。[cwagent-ecs-instance-metric-cfn.yaml](https://github.com/aws-samples/logging-monitoring-apg-guide-examples/blob/main/examples/ecs/cwagent-ecs-instance-metric-cfn.yaml) CloudFormation テンプレートを使用して、CloudWatch エージェントを Amazon ECS サービスとしてデプロイできます。重要なのは、この例では、適切なカスタム CloudWatch エージェント設定を作成し、`ecs-cwagent-daemon-service` キーを使用してパラメータストアに保存したことを前提としています。

[CloudWatch エージェント](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/Container-Insights-metrics-ECS.html) は、CloudWatch Container Insights のデーモンコンテナとしてデプロイされるには、次のような追加のディスク、メモリ、`instance_cpu_reserved_capacity` そして `instance_memory_reserved_capacity`と `ClusterName`,`ContainerInstanceId`,`InstanceId` ディメンションなどのCPU メトリクスが含まれます。コンテナインスタンスレベルのメトリクスは、CloudWatch 組み込みメトリックス形式を使用して Container Insights によって実装されます。このガイドの [CloudWatch エージェントのデプロイと設定のステートマネージャーとディストリビューターをセットアップする](install-cloudwatch-systems-manager.md#set-up-systems-manager-distributor)セクションの アプローチを使用して、Amazon ECS コンテナインスタンスに追加のシステムレベルのメトリクスを設定できます。

## Amazon ECS でカスタムアプリケーションメトリクスを作成する
<a name="ecs-metrics-applications"></a>

[CloudWatch の埋め込みメトリクス形式](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/CloudWatch_Embedded_Metric_Format.html) を使用して、独自のアプリケーションメトリクスを作成、取得することも可能です。`awslogs` ログドライバーは、CloudWatch 埋め込みメトリクス形式のステートメントを解釈できます。

`CW_CONFIG_CONTENT` 次の例の環境変数は、`cwagentconfig` Systems Manager パラメータストアパラメータに設定されています。この基本構成でエージェントを実行して、組み込みメトリック形式のエンドポイントとして構成できます。ただし、不要になりました。

```
  {
  "logs": {
    "metrics_collected": {
      "emf": { }
    }
  }
}
```

複数のアカウントとリージョンにまたがって Amazon ECS デプロイメントがある場合は、 AWS Secrets Manager Secret は CloudWatch 設定を保存し、組織と共有するようにシークレットポリシーを設定します。タスク定義で secrets オプションを使用して、`CW_CONFIG_CONTENT` 変数を設定します。

アプリケーションで AWS 提供されている[オープンソースの埋め込みメトリクス形式ライブラリ](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/CloudWatch_Embedded_Metric_Format_Libraries.html)を使用し、 `AWS_EMF_AGENT_ENDPOINT`環境変数を指定して、埋め込みメトリクス形式のエンドポイントとして機能する CloudWatch エージェントサイドカーコンテナに接続できます。例えば、[ecs\$1cw\$1emf\$1example](https://github.com/aws-samples/logging-monitoring-apg-guide-examples/tree/main/examples/ecs/ecs_cw_emf_example) 埋め込みメトリックス形式のエンドポイントとして設定された CloudWatch エージェントサイドカーコンテナに埋め込みメトリックス形式のメトリクスを送信する Python アプリケーションのサンプルを使用します。

CloudWatch 用 [Fluent Bit プラグイン](https://github.com/aws/amazon-cloudwatch-logs-for-fluent-bit)を使用して、埋め込みメトリクス形式のメッセージを送信することもできます。また、 [ecs\$1firelense\$1emf\$1example](https://github.com/aws-samples/logging-monitoring-apg-guide-examples/tree/main/examples/ecs/ecs_firelense_emf_example) Amazon ECS サイドカーコンテナに FireLens 組み込みメトリクス形式のメトリクスを送信する Python アプリケーションのサンプルを使用することもできます。

埋め込みメトリクス形式を使用しない場合は、 [AWS API](https://docs.aws.amazon.com//AmazonCloudWatch/latest/APIReference/Welcome.html) または [AWS SDK](https://aws.amazon.com/developer/tools/) を使用して CloudWatch メトリクスを作成および更新できます。特定のユースケースがない限り、このアプローチは推奨されません。これは、コードにメンテナンスと管理オーバーヘッドを追加するためです。