.NET Aspire での OpenTelemetry の使用

完了

.NET Aspire は、.NET Aspire プロジェクトを作成するときに OpenTelemetry サポートを自動的に含めることで、クラウドネイティブ アプリの動作を記録するのに役立ちます。

あなたはアウトドア用機器の販売店で働いているとします。 テレメトリ データを記録することにしました。 次に、.NET Aspire がテレメトリにどのように役立つのかを調べる必要があります。

このユニットでは、.NET Aspire と OpenTelemetry API の統合について学習します。

.NET Aspire と OpenTelemetry

.NET Aspire の設計と実装の主な目的は、クラウドネイティブ アプリの監視とトラブルシューティングが容易であることを確かめることです。 .NET Aspire では、完全なアプリが監視可能であり、OpenTelemetry API を使用して完全にインストルメント化されていることを確かめ、テンプレートから新しいアプリを作成したり、既存のアプリを .NET Aspire オーケストレーションに追加したりするたびに、テレメトリ データのソースを自動的に設定することが簡略化されます。

.NET Aspire コンポーネントには、テレメトリのサポートも組み込まれています。

ローカルでデバッグするときに、.NET Aspire によって .NET Aspire ダッシュボードが提供されます。 この Web インターフェイスには、ログ、グラフィカル形式のメトリック、タイムラインのトレースを表示する豊富なツールが含まれています。

.NET Aspire ダッシュボードの [トレース] ページを示すスクリーンショット。

.NET Aspire の OpenTelemetry 構成

.NET Aspire ソリューションで OpenTelemetry を追加して構成するコードは、ServiceDefaults プロジェクトにあります。 Extensions.cs ファイルには、次のものがあります。

  • ConfigureOpenTelemetry() メソッド。ログ、メトリック、トレース サービスが追加されます。
  • AddOpenTelemetryExporters() メソッド。OpenTelemetry Protocol (OTLP) エクスポーターが追加されます。
  • AddBuiltInMeters() メソッド。.NET に組み込まれているすべてのメトリックが追加されます。

他のエクスポーターやメトリックを追加する場合を除き、このコードはそのままにしておくことができます。

このコードは、次の場合に拡張する必要があります。

  • カスタム メトリックなど、メトリックまたは分散トレース データのソースをさらに追加する。
  • Application Insights や Grafana などの Application Performance Management (APM) システムにテレメトリ データを送信するためにエクスポーターを追加する。

テレメトリのエクスポート

OpenTelemetry では、記録されたデータをさまざまなツールにエクスポートできるため、必要な分析をサポートするものを選択できます。

一般的なテレメトリ エクスポート先は次のとおりです。

  • Aspire ダッシュボード。 ダッシュボードについては、このモジュールで後ほど詳しく説明します。
  • Prometheus や Grafana などの他の Application Performance Management (APM) ツール。
  • Azure Application Insights。 Azure Monitor のこの機能を使用すると、Azure 内で、およびクラウドネイティブ アプリなどの他のソースから、多くのソースの動作データを分析して表示できます。

詳細情報