AWS Distro for OpenTelemetry の使用 - Amazon CloudWatch

AWS Distro for OpenTelemetry の使用

AWS Distro for OpenTelemetry コレクターを使用して、Amazon EKS クラスターからメトリクスを収集するように Container Insights を設定できます。AWS Distro for OpenTelemetry の詳細については、AWS Distro for OpenTelemetry を参照してください。

Container Insights の設定方法は、クラスターが Amazon EC2 インスタンスでホストされているか、または AWS Fargate (Fargate) でホストされているかによって異なります。

Amazon EC2 でホストされている Amazon EKS クラスター

まだ行っていない場合は、必要な IAM ロールを含む前提条件を満たしていることを確認してください。詳細については、「前提条件を確認する」を参照してください。

Amazon は、Amazon EC2 で Amazon Elastic Kubernetes Service のモニタリングを設定するために使用できる Helm チャートを提供します。このモニタリングでは、メトリクスに AWS Distro for OpenTelemetry(ADOT) Collector を使用し、ログに Fluent Bit を使用します。したがって、Helm チャートは Amazon EC2 で Amazon EKS を使用し、CloudWatch Container Insights に送信するメトリクスとログを収集したいお客様にとって有用です。この Helm チャートの詳細については、「ADOT Helm chart for EKS on EC2 metrics and logs to Amazon CloudWatch Container Insights」(EKS on EC2 メトリクスと Amazon CloudWatch Container Insights へのログに関する ADOT Helm チャート) を参照してください。

または、このセクションの残りの手順を使用することもできます。

まず、次のコマンドを入力して、AWS Distro for OpenTelemetry コレクターを DaemonSet としてデプロイします。

curl https://raw.githubusercontent.com/aws-observability/aws-otel-collector/main/deployment-template/eks/otel-container-insights-infra.yaml | kubectl apply -f -

コレクターが実行中であることを確認するには、次のコマンドを使用します。

kubectl get pods -l name=aws-otel-eks-ci -n aws-otel-eks

このコマンドの出力に Running 状態の複数のポッドが含まれている場合、コレクターは実行中であり、クラスターからメトリクスを収集しています。コレクターは aws/containerinsights/cluster-name/performance という名前のロググループを作成し、パフォーマンスログイベントを送信します。

CloudWatch で Container Insights メトリクスを表示する方法については、Container Insights メトリクスの表示 を参照してください。

AWS は、このシナリオの GitHub に関するドキュメントも提供しています。Container Insights によって公開されるメトリクスとログをカスタマイズする場合は、https://aws-otel.github.io/docs/getting-started/container-insights/eks-infra を参照してください。

Fargate でホストされている Amazon EKS クラスター

ADOT Collector を設定およびデプロイして、Fargate 上の Amazon EKS クラスターにデプロイされたワークロードからシステムメトリクスを収集し、CloudWatch Container Insights に送信する方法については、AWS Distro for OpenTelemetry ドキュメントの「Container Insights EKS Fargate」を参照してください。