OpenTelemetryは、可観測性フレームワークである。クラウドネイティブソフトウェアからのテレメトリデータの生成とキャプチャを支援するソフトウェアとツールである。これは、AWS、Microsoft、Google、LightStep、New Relic、Red Hat、Splunkなどの企業の利害関係者によるCloud Native Computing Foundation (CNCF) サンドボックスプロジェクトであり、分散トレースとメトリックのコレクションのオープンスタンダードの定義に協力している。
先頃、AWSは、OpenTelemetryプロジェクトのセキュアでプロダクション環境に対応したAWSサポートのディストリビューションであるAWS Distro for OpenTelemetryのパブリックプレビューを発表した。AWS Distro for OpenTelemetryを使用すると、開発者はアプリケーションを一度にインストルメント化して、Amazon CloudwatchからDatadogやGrafanaなどの複数のモニタリングソリューションに相関メトリックスとトレースを送信できる。
開発者は、AWS Distro for OpenTelemetryを使用して、Amazon Elastic Compute Cloud (EC2) 、Amazon Elastic Container Service (ECS) 、Amazon Elastic Kubernetes Service (EKS) 、AWS Fargate、およびオンプレミスで実行されているアプリケーションをOpenTelemetryコンポーネントでインストルメント化できる。その後、相関するパフォーマンスデータをAmazon CloudWatchやAWS X-RayなどのAWSモニタリングサービスに送信して、モニタリングと分析を行うことができる。
さらに、開発者は、AWS CloudFormationテンプレート、AWS Command Line Interfaceを使用するか、Kubectlコマンドを使用して、コンテナサービス用やEC2用のAWS Distro for OpenTelemetryの最新バージョンを構成およびデプロイできる。
出典: https://aws-otel.github.io/
AWS Distro for OpenTelemetryのパブリックプレビューは、次のようないくつかのコンポーネントで構成されている:
- AWSは、コンテナ識別子、EC2インスタンス識別子、タスク、ポッド識別子などのAWSリソース固有のメタデータ要素のコレクションを含むアップストリームOpenTelemetry SDKを強化した。さらに、X-Rayトレースのフォーマットとコンテキスト、およびX-RayとCloudWatchから取り込んだトレースとメトリクスデータの相関関係がサポートされている。
- AWS SDKおよびX-RayトレースデータをサポートするOpenTelemetryのJava自動インストルメンテーションエージェント。他の言語と環境.NETとJavaScriptはまもなくサポートされ、Python、Ruby、Go、C++、Erlang、Rustは後でサポートされる。自動インストルメンテーションエージェントは、アプリケーションで使用されるフレームワークと言語を識別し、それらを自動的にインストルメントして、メトリックとトレースを収集および転送できることに注意してください。
- X-Rayにトレースを送信しCloudWatchにメトリクスを送信するC++ PrometheusエクスポータなどのAWS固有のエクスポータを含むOpenTelemetryコレクタ。コレクタは、EKSのサイドカーまたはデーモンセット、ECSのサイドカー、またはEC2のエージェントとして起動できることに注意してください。
AWSの主任技術者であるAlolita Sharma氏とAWSの主任製品マネージャであるNizar Tyrewalla氏は、AWSオープンソースブログでAWS Distro for OpenTelemetryについて次のように書いている:
AWSは、ソフトウェアテレメトリインストルメンテーションのコストを削減し、誰もが使用できるオープンソースの高品質テクノロジーの可用性を確保するなど、アップストリームのOpenTelemetryプロジェクトのコアとなる価値を共有しています。
また、Redditの回答者は、AWS Distro for OpenTelemetryの目的に関するスレッドで次のように述べている:
それら (AWS) は、ツール、API、およびメカニズムを、Asterisk、Fedora Jam、またはKaliに似た専用のディストリビューションに統合しています。多目的のベアメタル、VM、さらにはコンテナさえも必要なくなったため、焦点を絞った環境では、無駄が少なくなり、パッチ適用サイクルが少なくなり、コンポーネント間の相互作用が向上します。
最後に、開発者は開発者ポータルのドキュメントページでAWS Distro for OpenTelemetryについて詳しく学ぶことができる。さらに、開発者はAWS Distro for OpenTelemetryをダウンロードして試すことができる。