Azure と OpenTelemetry の統合により、次の製品スイートが提供されます。
- 標準化された方法でのテレメトリ データの収集
- Azure Monitor とローカル ツールでキュレーションされたエクスペリエンスを使用したデータの消費
この記事では、Microsoft の戦略的投資を理解するのに役立つ OpenTelemetry オファリングについて説明します。
Azure 上の OpenTelemetry の詳細については、「Microsoft の OpenTelemetry ロードマップ」を参照してください。
データ コレクション
Azure Monitor OpenTelemetry Distro は、Microsoft のカスタマイズ、サポート、およびオープン ソースバージョンの OpenTelemetry ソフトウェア開発キット (SDK) です。 .NET、Java、JavaScript (Node.js)、Python をサポートしています。 ほとんどのお客様には Azure Monitor OpenTelemetry Distro をお勧めしており、新機能の追加への投資を続けていきます。
以下の機能をバンドルすることで、導入の容易さに重点を置いています。
- OpenTelemetry SDK と API
- ログ、メトリック、トレースにわたるインストルメンテーション ライブラリ
さらに、Azure Monitor OpenTelemetry Distro ベースの自動インストルメンテーション ソリューションは、Java および Python アプリ用の App Service と Java Functions に統合されています。
- .NET、Java、Node.js、Python アプリケーション用の Azure Monitor OpenTelemetry を有効にする
- Live Metrics を使用して診断する
- Azure Monitor Application Insights Python を OpenCensus から OpenTelemetry に移行する
- Azure App Services で Python のパフォーマンスを監視する (プレビュー)
- Azure App Services で Java のパフォーマンスを監視する
- Azure Functions で実行されているアプリケーションを Application Insights で監視する
Azure SDK は、OpenTelemetry API でインストルメント化され、エンドツーエンドの監視を実現しています。 サポートされているすべての言語は、OpenTelemetry HTTP またはメッセージング トレース セマンティクスを出力するようにインストルメント化され、.NET および Java は、OpenTelemetry HTTP 指標セマンティクスを出力するようにインストルメント化されています。
.NET OpenTelemetry の実装では、フレームワークのログ、メトリック、アクティビティ API を使用してインストルメント化を行っています。 OpenTelemetry SDK は、これらの API やその他のソース (インストルメンテーション ライブラリ経由) からテレメトリを収集し、保存および分析のためにアプリケーション パフォーマンス監視 (APM) システムにデータをエクスポートします。
エッジでの Azure Monitor パイプラインは、クラウド、エッジ、マルチクラウド全体の監視をシームレスに実現するために、エッジ環境からの大規模なデータ インジェストとルーティングを容易にする目的で設計された強力なソリューションです。 OpenTelemetry コレクターを使用しています。 現在、パブリック プレビューでは、単一の Arc 対応 Kubernetes クラスターにデプロイでき、OpenTelemetry Protocol (OTLP) ログを収集できます。
OpenTelemetry Collector Azure Data Explorer Exporter は、OpenTelemetry コレクターにプラグインできるデータ エクスポーター コンポーネントです。 多くのレシーバーからのデータを Azure Data Explorer、Azure Synapse Data Explorer、Fabric の Real-Time Analytics に取り込むことができます。
- OpenTelemetry から Azure Data Explorer へのデータ インジェスト
- Azure Data Explorer エクスポーターの GitHub リポジトリ
- Azure Synapse データ エクスプローラー
- リアルタイム インテリジェンス
Azure Functions を使用すると、ログおよびトレース データを OTLP 形式でエクスポートできます。 ホスト プロセスとワーカー プロセスの両方からのテレメトリをサポートしています。 有効にすると、OpenTelemetry 準拠のエンドポイントにデータを送信できます。
Azure Container Apps OpenTelemetry エージェントは、OTLP でサポートされているエンドポイントにデータを自動的に収集してエクスポートします。 環境変数を使用して有効になり、手動で構成する必要はありません。 詳細については、「Azure Container Apps で OpenTelemetry データを収集して読み取る」を参照してください。
データ プラットフォームと消費量
.NET Aspire は、OpenTelemetry による観測機能を標準装備しており、推奨に基づいたクラウドネイティブ スタックです。 その一部は、デバッグ中にリアルタイムで OpenTelemetry シグナルを観察するための "開発者向けダッシュボード" です。 .NET 以外の OpenTelemetry でサポートされている言語のアプリケーションから、OTLP を使用してログ、メトリック、トレースを収集します。
Azure Monitor Application Insights は、クラウド規模のアプリケーション監視をサポートし、クラウドネイティブ アプリケーションと VM ベースのアプリケーションの両方の可観測性に優れた Azure の APM です。 Application Insights は、OpenTelemetry によって提供される、アプリケーションのパフォーマンス、信頼性、品質を向上させるエクスペリエンスを備えています。 たとえば、アプリケーション マップでは、アプリケーション アーキテクチャとコンポーネントの相互作用の概要を視覚的に把握でき、トランザクション検索は問題の特定とパフォーマンスの最適化に役立ちます。