.NET、Node.js、Python、Java アプリケーション用の Azure Monitor OpenTelemetry を有効にする
この記事では、OpenTelemetry ベースのデータ収集を有効にして、Azure Monitor Application Insights 内のエクスペリエンスを強化するように構成する方法について説明します。 "Azure Monitor OpenTelemetry Distro" をインストールする方法について説明します。Distro は、アプリケーションとその依存関係全体でトレース、メトリック、ログ、例外を 自動的に収集 します。 OpenTelemetry を使用したデータ収集の詳細については、データ収集の基本に関する記事、または OpenTelemetry に関する FAQ を参照してください。
OpenTelemetry のリリースの状態
OpenTelemetry オファリングは、.NET、Node.js、Python、Java アプリケーションで使用できます。
Language | リリースの状態 |
---|---|
ASP.NET Core | ⚠️ 2 |
.NET (エクスポーター) | ✅1 |
Java | ✅1 |
Node.js | ✅1 |
Python | ✅1 |
脚注
- ✅ 1: OpenTelemetry は、正式なサポートを受けるすべてのお客様が利用できます。
- ⚠️ 2: OpenTelemetry はパブリック プレビューとして利用できます。 Microsoft Azure プレビューの使用条件に関する補足
注意
機能別のリリースの状態については、「よく寄せられる質問」を参照してください。 ASP.NET Core ディストリビューションでは、GA の前に追加の安定性テストを行っています。 ASP.NET Core アプリケーションで完全にサポートされている OpenTelemetry ソリューションが必要な場合は、.NET エクスポーターを使用できます。
はじめに
このセクションの手順に従い、OpenTelemetry を使用してアプリケーションをインストルメント化します。
前提条件
- Azure サブスクリプション: Azure サブスクリプションを無料で作成する
- Application Insights リソース: Application Insights リソースを作成する
- 正式にサポートされているバージョンの .NET Core を使用する ASP.NET Core アプリケーション
ヒント
OTel Community SDK/API は、依存関係として自動的に読み込まれるため、Azure Monitor OTel ディストリビューションで使用することはお勧めしません。
クライアント ライブラリをインストールする
最新の Azure.Monitor.OpenTelemetry.AspNetCore NuGet パッケージをインストールします。
dotnet add package --prerelease Azure.Monitor.OpenTelemetry.AspNetCore
Azure Monitor Application Insights を有効にする
Azure Monitor Application Insights を有効にするには、アプリケーションに若干の変更を加え、「接続文字列」を設定します。接続文字列は、ユーザーに固有の Distro が収集するテレメトリを送信する場所をアプリケーションに通知します。
アプリケーションを変更する
アプリケーション スタートアップに UseAzureMonitor()
を追加します。 .NET のバージョンに応じて、これは startup.cs
または program.cs
クラスのいずれかになります。
// Import the Azure.Monitor.OpenTelemetry.AspNetCore namespace.
using Azure.Monitor.OpenTelemetry.AspNetCore;
// Create a new WebApplicationBuilder instance.
var builder = WebApplication.CreateBuilder(args);
// Add the OpenTelemetry NuGet package to the application's services and configure OpenTelemetry to use Azure Monitor.
builder.Services.AddOpenTelemetry().UseAzureMonitor();
// Build the application.
var app = builder.Build();
// Run the application.
app.Run();
Application Insights リソースから接続文字列をコピーします
ヒント
まだお持ちでない場合、 Application Insights リソースを作成する絶好のタイミングです。 ここでは、新しい Application Insights リソースを作成し、既存のものを使用することをお勧めします。
一意の接続文字列をコピーするには:
- Application Insights リソースの [概要] ペインにアクセスしてください。
- 接続文字列を見つけます。
- 接続文字列をポイントし、[クリップボードにコピー] アイコンを選択します。
環境に接続文字列を貼り付ける
接続文字列を貼り付けるには、次のオプションから選択します。
A. 環境変数を使用して設定する (推奨)
次のコマンドの <Your Connection String>
を、独自の一意の接続文字列に置き換えます。
APPLICATIONINSIGHTS_CONNECTION_STRING=<Your Connection String>
B. 構成ファイルを使用して設定する - Java のみ (推奨)
次のコンテンツを使って、applicationinsights.json
という名前の構成ファイルを作成し、applicationinsights-agent-3.4.17.jar
と同じディレクトリに配置します。
{
"connectionString": "<Your Connection String>"
}
上記の JSON の <Your Connection String>
を、独自の一意の接続文字列に置き換えます。
C. コードを使用して設定 - ASP.NET Core、Node.js、Python のみ (非推奨)
コードを使用した接続文字列の設定の例については、接続文字列の構成 を参照してください。
Note
接続文字列を複数の場所に設定する場合は、次の優先順位に従います。
- コード
- 環境変数
- 構成ファイル
データが流れていることを確認する
アプリケーションを実行し、Azure portal で [Application Insights リソース] タブを開きます。 データがポータルに表示されるまでに数分かかる場合があります。
これでアプリケーションに対しての Application Insights が有効になりました。 次の手順はすべて省略可能であり、さらにカスタマイズできます。
重要
同じ Application Insights リソースにテレメトリを出力しているサービスが 2 つ以上ある場合は、アプリケーション マップ上で正しく表すために、クラウド ロール名を設定する必要があります。
Application Insights インストルメンテーションの使用時に、診断データが収集され、Microsoft に送信されます。 このデータは、Application Insights の実行と改善に役立ちます。 詳細については、「Azure Application Insights の Statsbeat」を参照してください。
トラブルシューティング
動作していませんか? ASP.NET Core のトラブルシューティング ページをご確認ください。
サポート
選択した言語のタブを選択して、サポート オプションを検出します。
- Azure サポートの問題については、Azure サポート チケットを開いてください。
- OpenTelemetry の問題については、OpenTelemetry .NET コミュニティに直接問い合わせてください。
- Azure Monitor Exporter に関連する未解決の問題の一覧については、GitHub のイシュー ページを参照してください。
OpenTelemetry のフィードバック
フィードバックを提供するには:
- OpenTelemetry コミュニティのカスタマー フィードバック アンケートに記入してください。
- Microsoft の OpenTelemetry 早期導入者コミュニティに参加して、お客様自身のことをお知らせください。
- Microsoft Tech Community で他の Azure Monitor ユーザーと交流してください。
- Azure フィードバック フォーラムで機能に関する要求を行ってください。
次のステップ
- Azure Monitor OpenTelemetry の追加と変更の詳細については、Azure Monitor OpenTelemetry の追加と変更に関するページを参照してください。
- OpenTelemetry ディストリビューションをさらに構成するには、「Azure Monitor OpenTelemetry の構成」を参照してください。
- ソースコードを確認するには、「Azure Monitor AspNetCore GitHub リポジトリ」を参照してください。
- NuGet パッケージをインストールしたり、更新プログラムを確認したり、リリース ノートを表示したりするには、「Azure Monitor AspNetCore NuGet パッケージ」のページを参照してください。
- Azure Monitor と OpenTelemetry について詳しく知るには、Azure Monitor のサンプル アプリケーションを参照してください。
- OpenTelemetry とそのコミュニティの詳細については、OpenTelemetry .NET GitHub リポジトリを参照してください。
- 使用エクスペリエンスを有効にするには、Web またはブラウザーのユーザー監視を有効にします。