Container Insights を使用したサービスメトリクスの収集
サービスメトリクスは、コードに計装を追加することで取得されるアプリケーションレベルのメトリクスです。これらのメトリクスは、2 つの異なるアプローチでアプリケーションから収集できます。
- プッシュアプローチ: アプリケーションがメトリクスデータを直接送信先に送信します。例えば、CloudWatch PutMetricData API を使用して、アプリケーションはメトリクスデータポイントを CloudWatch に公開できます。また、アプリケーションは OpenTelemetry Protocol (OTLP) を使用して、gRPC や HTTP 経由で OpenTelemetry Collector などのエージェントにデータを送信することもできます。後者は、メトリクスデータを最終的な送信先に送信します。
- プルアプローチ: アプリケーションが事前に定義されたフォーマットで HTTP エンドポイントにメトリクスデータを公開します。このエンドポイントにアクセスできるエージェントがデータをスクレイピングし、送信先に送信します。

CloudWatch Container Insights による Prometheus のモニタリング
Prometheus は、人気のあるオープンソースのシステムモニタリングおよびアラート通知ツールキットです。コンテナ化されたアプリケーションからプル方式でメトリクスを収 集するための事実上の標準として台頭しています。Prometheus を使用してメトリクスを取得するには、まず主要なプログラミング言語で利用可能な Prometheus の クライアントライブラリ を使用してアプリケーションコードを計装する必要があります。メトリクスは通常、Prometheus サーバーが読み取れるように、アプリケーションによって HTTP 経由で公開されます。
Prometheus サーバーがアプリケーションの HTTP エンドポイントをスクレイピングすると、クライアントライブラリは追跡されているすべてのメトリクスの現在の状態をサーバーに送信します。サーバーは、管理しているローカルストレージにメトリクスを保存するか、CloudWatch などのリモートの送信先にメトリクスデータを送信することができます。
CloudWatch Container Insights による Prometheus のモニタリング を使用すると、Amazon ECS クラスターで Prometheus の機能を活用できます。これは EC2 と Fargate にデプロイされた Amazon ECS クラスターで利用可能です。CloudWatch エージェントは Prometheus サーバーの代替として使用でき、オブザーバビリティを向上させるために必要なモニタリングツールの数を削減します。Amazon ECS にデプロイされたコンテナ化アプリケーションからの Prometheus メトリクスの検出を自動化し、メトリクスデータをパフォーマンスログイベントとして CloudWatch に送信します。
Amazon ECS クラスターに Prometheus メトリクス収集機能を持つ CloudWatch エージェントをデプロイする手順は、Amazon CloudWatch ユーザーガイド に記載されています。
Container Insights による Prometheus のモニタリングで収集されたメトリクスは、カスタムメトリクスとして課金されます。CloudWatch の料金の詳細については、Amazon CloudWatch の料金 をご参照ください。