ADOT オブザーバビリティパイプライン
オブザーバビリティパイプラインは、さまざまなソースからオブザーバビリティデータを収集、管理、分析するために協調して動作する複数のコンポーネントで構成されています。
EKS クラスター
EKS (Elastic Kubernetes Service) クラスターは、オブザーバビリティパイプラインの主要コンポーネントをホストします。
ADOT Operator Helm チャートのインストール
ADOT (AWS Distro for OpenTelemetry) Operator は Helm チャートを使用してインストールされます。これは、オブザーバビリティパイプラインコンポーネントのデプロイと設定を管理します。
ユーザー設定コレクター
ユーザー設定コレクターはオペレーターによって管理され、以下のコンポーネントで構成されています:
- デプロイメントとしてのコレクター:コレクターは Kubernetes デプロイメントとして展開され、高可用性とスケーラビリティを確保します。
- Collector-0、Collector-1、Collector-2:複数のコレクターインスタンスが展開され、入力されるオブザーバビリティデータを処理します。これらは協調して作業負荷を分散し、信頼性の高いデータ収集を保証します。
図 1:OpenTelemetry パイプライン
永続ボリューム
永続ボリュームは、収集されたオブザーバビリティデータを保存するために使用されます。データの耐久性を確保し、長期的な保存と分析を可能にします。
Kubernetes ノード
Kubernetes ノードは、アプリケーションの Pod とサイドカーとしてのコレクターをホストします。
- アプリケーションコンテナ:アプリケーションコンテナは実際のアプリケーションコードを実行し、オブザーバビリティデータを生成します。
- サイドカーとしてのコレクター:コレクターはアプリケーションコンテナと並行してサイドカーコンテナとして実行されます。アプリケーションによって生成されたオブザーバビリティデータを収集します。
スクレイプターゲット
オブザーバビリティパイプラインは、以下のようなさまざまなスクレイプターゲットからデータを収集します:
- トレース/メトリクスのスクレイプ:パイプラインは、アプリケーションとインフラストラクチャコンポーネントからトレースとメトリクスをスクレイプします。
AWS Prometheus Remote Write Exporter
AWS Prometheus Remote Write Exporter は、収集されたオブザーバビリティデータを AWS サービスにエクスポートするために使用されます。
AWS CloudWatch EMF エクスポーター
AWS CloudWatch EMF (Embedded Metric Format) エクスポーターは、メトリクスを AWS CloudWatch にエクスポートするために使用されます。
AWS X-Ray トレースエクスポーター
AWS X-Ray トレースエクスポーターは、分散トレーシングとパフォーマンス分析のためにトレースデータを AWS X-Ray にエクスポートするために使用されます。
オブザーバビリティパイプラインは、スクレイプターゲットからデータを収集し、コレクターを使用してそれを処理し、さらなる分析と可視化のために様々な AWS サービスにエクスポートします。
ADOT を使用したメトリクスとインサイトの収集
-
計装: OpenTelemetry と同様に、ADOT はアプリケーションやサービスを計装するためのライブラリと SDK を提供し、メトリクス、トレース、ログなどのテレメトリデータを取得します。
-
メトリクス収集: ADOT は、AWS サービスのメトリクスを含むシステムレベルおよびアプリケーションレベルのメトリクスの収集とエクスポートをサポートし、リソース使用率とアプリケーションパフォーマンスに関するインサイトを提供します。
-
分散トレーシング: ADOT は、AWS サービス、コンテナ、オンプレミス環境にわたる分散トレーシングを可能にし、リクエストと操作をエンドツーエンドでトレースできます。
-
ログ記録: ADOT は構造化ログのサポートを含み、包括的なオブザーバビリティのために他のテレメトリシグナルとログデータを関連付けます。
-
AWS サービス統合: ADOT は、AWS X-Ray、AWS CloudWatch、Amazon Managed Service for Prometheus、AWS Distro for OpenTelemetry Operator などの AWS サービスと緊密に統合されており、AWS エコシステム内でのシームレスなテレメトリ収集と分析を可能にします。
-
自動計装: ADOT は、一般的なフレームワークやライブラリの自動計装機 能を提供し、既存のアプリケーションの計装プロセスを簡素化します。
-
データ処理と分析: ADOT によって収集されたテレメトリデータは、AWS X-Ray、Amazon Managed Service for Prometheus、AWS CloudWatch などの AWS オブザーバビリティサービスにエクスポートでき、AWS ネイティブの分析および可視化ツールを活用できます。
ADOT を使用するメリット
-
AWS ネイティブな統合: ADOT は AWS サービスとインフラストラクチャにシームレスに統合するように設計されており、AWS エコシステム内で一貫したオブザーバビリティ体験を提供します。
-
パフォーマンスとスケーラビリティ: ADOT はパフォーマンスとスケーラビリティに最適化されており、大規模な AWS 環境でも効率的なテレメトリの収集と分析を可能にします。
-
セキュリティとコンプライアンス: ADOT は AWS のセキュリティベストプラクティスに準拠し、さまざまな業界標準に適合しており、安全で準拠したオブザーバビリティの実践を保証します。
-
AWS のサポート: AWS がサポートする配布版として、ADOT は AWS の広範なドキュメント、サポートチャネル、および OpenTelemetry プロジェクトへの長期的なコミットメントの恩恵を受けています。
OpenTelemetry と ADOT の違い
ADOT と OpenTelemetry は多くの中核的な機能を共有していますが、いくつかの重要な違いがあります:
-
AWS との統合: ADOT は AWS 環境向けに特別に設計されており、AWS サービスとの緊密な統合を提供します。一方、OpenTelemetry はベンダー中立のプロジェクトです。
-
AWS 向けの最適化: ADOT は AWS 環境内でのパフォーマンス、スケーラビリティ、セキュリティに最適化されており、AWS ネイティブのサービスとベストプラクティスを活用しています。
-
AWS のサポート: ADOT は AWS の公式サポート、ドキュメント、長期的なコミットメントの恩恵を受けています。一方、OpenTelemetry はコミュニティサポートに依存しています。
-
AWS 固有の機能: ADOT には AWS 固有の機能と AWS サービスの自動計装が含まれています。一方、OpenTelemetry は汎用的なオブザーバビリティに焦点を当てています。
-
ベンダー中立性: OpenTelemetry はベンダー中立のプロジェクトで、さまざまなオブザーバビリティプラットフォームとの統合が可能です。一方、ADOT は主に AWS のオブザーバビリティサービスに焦点を当てています。
ADOT を活用することで、組織は AWS エコシステム内で包括的なオブザーバビリティを実現できます。AWS ネイティブの統合、最適化されたパフォーマンス、AWS のサポー トの恩恵を受けながら、OpenTelemetry の機能とコミュニティの貢献を活用する柔軟性も維持できます。