メインコンテンツまでスキップ

ADOT オブザーバビリティパイプライン

オブザーバビリティパイプラインは、さまざまなソースからオブザーバビリティデータを収集、管理、分析するために協調して動作する複数のコンポーネントで構成されています。

EKS クラスター

EKS (Elastic Kubernetes Service) クラスターは、オブザーバビリティパイプラインの主要コンポーネントをホストします。

ADOT Operator Helm チャートのインストール

ADOT (AWS Distro for OpenTelemetry) Operator は Helm チャートを使用してインストールされます。これは、オブザーバビリティパイプラインコンポーネントのデプロイと設定を管理します。

ユーザー設定コレクター

ユーザー設定コレクターはオペレーターによって管理され、以下のコンポーネントで構成されています:

  • デプロイメントとしてのコレクター:コレクターは Kubernetes デプロイメントとして展開され、高可用性とスケーラビリティを確保します。
  • Collector-0、Collector-1、Collector-2:複数のコレクターインスタンスが展開され、入力されるオブザーバビリティデータを処理します。これらは協調して作業負荷を分散し、信頼性の高いデータ収集を保証します。

OTEL pipeline 図 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 を使用したメトリクスとインサイトの収集

  1. 計装: OpenTelemetry と同様に、ADOT はアプリケーションやサービスを計装するためのライブラリと SDK を提供し、メトリクス、トレース、ログなどのテレメトリデータを取得します。

  2. メトリクス収集: ADOT は、AWS サービスのメトリクスを含むシステムレベルおよびアプリケーションレベルのメトリクスの収集とエクスポートをサポートし、リソース使用率とアプリケーションパフォーマンスに関するインサイトを提供します。

  3. 分散トレーシング: ADOT は、AWS サービス、コンテナ、オンプレミス環境にわたる分散トレーシングを可能にし、リクエストと操作をエンドツーエンドでトレースできます。

  4. ログ記録: ADOT は構造化ログのサポートを含み、包括的なオブザーバビリティのために他のテレメトリシグナルとログデータを関連付けます。

  5. AWS サービス統合: ADOT は、AWS X-Ray、AWS CloudWatch、Amazon Managed Service for Prometheus、AWS Distro for OpenTelemetry Operator などの AWS サービスと緊密に統合されており、AWS エコシステム内でのシームレスなテレメトリ収集と分析を可能にします。

  6. 自動計装: ADOT は、一般的なフレームワークやライブラリの自動計装機能を提供し、既存のアプリケーションの計装プロセスを簡素化します。

  7. データ処理と分析: ADOT によって収集されたテレメトリデータは、AWS X-Ray、Amazon Managed Service for Prometheus、AWS CloudWatch などの AWS オブザーバビリティサービスにエクスポートでき、AWS ネイティブの分析および可視化ツールを活用できます。

ADOT を使用するメリット

  1. AWS ネイティブな統合: ADOT は AWS サービスとインフラストラクチャにシームレスに統合するように設計されており、AWS エコシステム内で一貫したオブザーバビリティ体験を提供します。

  2. パフォーマンスとスケーラビリティ: ADOT はパフォーマンスとスケーラビリティに最適化されており、大規模な AWS 環境でも効率的なテレメトリの収集と分析を可能にします。

  3. セキュリティとコンプライアンス: ADOT は AWS のセキュリティベストプラクティスに準拠し、さまざまな業界標準に適合しており、安全で準拠したオブザーバビリティの実践を保証します。

  4. AWS のサポート: AWS がサポートする配布版として、ADOT は AWS の広範なドキュメント、サポートチャネル、および OpenTelemetry プロジェクトへの長期的なコミットメントの恩恵を受けています。

OpenTelemetry と ADOT の違い

ADOT と OpenTelemetry は多くの中核的な機能を共有していますが、いくつかの重要な違いがあります:

  1. AWS との統合: ADOT は AWS 環境向けに特別に設計されており、AWS サービスとの緊密な統合を提供します。一方、OpenTelemetry はベンダー中立のプロジェクトです。

  2. AWS 向けの最適化: ADOT は AWS 環境内でのパフォーマンス、スケーラビリティ、セキュリティに最適化されており、AWS ネイティブのサービスとベストプラクティスを活用しています。

  3. AWS のサポート: ADOT は AWS の公式サポート、ドキュメント、長期的なコミットメントの恩恵を受けています。一方、OpenTelemetry はコミュニティサポートに依存しています。

  4. AWS 固有の機能: ADOT には AWS 固有の機能と AWS サービスの自動計装が含まれています。一方、OpenTelemetry は汎用的なオブザーバビリティに焦点を当てています。

  5. ベンダー中立性: OpenTelemetry はベンダー中立のプロジェクトで、さまざまなオブザーバビリティプラットフォームとの統合が可能です。一方、ADOT は主に AWS のオブザーバビリティサービスに焦点を当てています。

ADOT を活用することで、組織は AWS エコシステム内で包括的なオブザーバビリティを実現できます。AWS ネイティブの統合、最適化されたパフォーマンス、AWS のサポートの恩恵を受けながら、OpenTelemetry の機能とコミュニティの貢献を活用する柔軟性も維持できます。