View a markdown version of this page

OTel Container Insights (推奨) - Amazon CloudWatch

OTel Container Insights (推奨)

OTel Container Insights は、Amazon EKS クラスターで Container Insights を有効にする際の推奨アプローチです。OpenTelemetry 上に構築され、シンプルなデプロイモデルとアクティブに進行中の開発により、メトリクスとログ全体で包括的なオブザーバビリティを提供します。

OTel Container Insights と Enhanced Container Insights (Classic) はどちらも同じ amazon-cloudwatch-observability Amazon EKS アドオンを使用します。違いは、アドオンのバージョンと設定であり、製品が違うわけではありません。OTel Container Insights は、そのアドオンの新しいアクティブに開発された設定です。

このアプローチは、以下のユースケース用に設計されています。

  • クラスターオブザーバビリティへの最適なサポートパスを希望する新しい Amazon EKS のお客様

  • 単一で最新のテレメトリパイプラインに統合しようとしている既存のお客様

  • CloudWatch とのネイティブ統合を希望して OpenTelemetry の採用を進めているチーム

主な利点

OTel Container Insights には次の利点があります。

  • セットアップの簡素化 — コンソール、AWS CLI、または CloudFormation を使用して、数分で完全なオブザーバビリティが有効になります

  • 包括的なシグナル — 単一のエージェントデプロイからメトリクスとログを収集します

  • オブザーバビリティの向上 — 詳細な Kubernetes メトリクス、ポッドレベルのインサイト、相関シグナルにアクセスします

  • アクティブな開発 — 新機能、パフォーマンスの向上、シグナルカバレッジの拡大が継続的に取り込まれます

  • OpenTelemetry ネイティブ — 業界標準のオブザーバビリティフレームワークに合わせて OpenTelemetry Collector 上に構築

このアプローチが推奨される理由

OTel Container Insights は、最もシンプルなデプロイモデルで最も広範なシグナルカバレッジ (メトリクスとログ) を提供するため、他の Container Insights アプローチよりも推奨されます。その他のアプローチはメンテナンス専用モードであるか、より複雑な手動設定が必要です。

次の表は、OTel Container Insights と Enhanced Container Insights (Classic) を比較したものです。

考慮事項 OTel Container Insights Enhanced Container Insights (Classic)
シグナル メトリクス、ログ メトリクス、ログ
オブザーバビリティの強化 はい はい
メンテナンスステータス アクティブな開発 メンテナンス
デプロイの複雑さ 低 低

メトリクスのソースとレシーバー

OTel Container Insights は、オープンソースのレシーバーからメトリクスを収集し、OpenTelemetry セマンティック規則で自動的に充実化します。独自のメトリクス名を使用する Enhanced Container Insights (Classic) とは異なり、OTel Container Insights は各ソースの元のメトリクス名を保持します。これにより、既存の PromQL ダッシュボードやコミュニティドキュメントと互換性があります。

OTel Container Insights は、OpenTelemetry Protocol (OTLP) を使用して 30 秒の精度で複数のレシーバーからオープンソースメトリクスを収集します。メトリクスは、CloudWatch 形式の名前ではなく、元のソース名 (cAdvisor からの container_cpu_usage_seconds_total など) を使用し、PromQL でクエリできます。

次の表に、使用可能なレシーバーとその前提条件を示します。

レシーバー 収集する内容 前提条件
cAdvisor コンテナ CPU、メモリ、ネットワーク、ディスク/ファイルシステムのメトリクス kubelet に組み込みで、追加セットアップなし
Prometheus Node Exporter ノードレベルの CPU、メモリ、ディスク、ファイルシステム、ネットワーク、システム、VMStat、netstat/socket のメトリクス アドオンに含まれる
Kube State メトリクス ポッド、ノード、デプロイ、DaemonSet、StatefulSet、ReplicaSet、ジョブ、CronJob、サービス、名前空間、PersistentVolume、PersistentVolumeClaim のメトリクス アドオンに含まれる
Kubernetes API サーバー API サーバーと etcd メトリクス コントロールプレーンで入手可能
NVIDIA DCGM GPU 使用率、メモリ、電力/熱、スロットリング、エラー/信頼性、NVLink のメトリクス NVIDIA デバイスプラグインとコンテナツールキットが必要
AWS Neuron モニター NeuronCore、NeuronDevice、Neuron システムのメトリクス Neuron ドライバーとデバイスプラグインが必要
AWS Elastic Fabric Adapter EFA ネットワークのメトリクス EFA デバイスプラグインが必要
NVMe NVMe SMART ヘルスのメトリクス 追加セットアップなし

各メトリクスは、次の 3 つのソースから最大 150 個のラベルで充実化されます。

  1. テレメトリソースのネイティブラベル — 元のレシーバーから (例:cAdvisor からの pod、namespace、container)

  2. OpenTelemetry リソース属性 — Kubernetes、ホスト、クラウドの OTel セマンティック規則に従う

  3. Kubernetes ポッドとノードのラベル — プレフィックスが k8s.pod.label.* と k8s.node.label.* の Kubernetes API からのすべてのラベル

デュアル発行と移行

OTel Container Insights はデフォルトで無効になっています。有効にするには、アドオン設定で otelContainerInsights.enabled を true に設定します。

アドオンバージョン v6.2.0 以降、アドオンは Enhanced Container Insights (Classic) と OTel Container Insights の両方を同時に経由したメトリクスの発行をサポートしています。これにより、完全に移行する前に新しいメトリクスパイプラインを検証できます。

Enhanced Container Insights (Classic) とともに OTel Container Insights を有効にするには、次のコマンドを実行します。

aws eks update-addon \ --cluster-name cluster-name \ --addon-name amazon-cloudwatch-observability \ --configuration-values '{"containerInsights":{"enabled":true},"otelContainerInsights":{"enabled":true}}'

OTel Container Insights を無効にし、Enhanced Container Insights (Classic) のみを保持するには、次のコマンドを実行します。

aws eks update-addon \ --cluster-name cluster-name \ --addon-name amazon-cloudwatch-observability \ --configuration-values '{"otelContainerInsights":{"enabled":false}}'

Enhanced Container Insights (Classic) を無効にし、OTel Container Insights のみを保持するには、次のコマンドを実行します。

aws eks update-addon \ --cluster-name cluster-name \ --addon-name amazon-cloudwatch-observability \ --configuration-values '{"containerInsights":{"enabled":false},"otelContainerInsights":{"enabled":true}}'

開始方法

次のトピックを使用して、Amazon EKS クラスターで OTel Container Insights をセットアップおよび設定します。

トピック