注記
.NET、Node.js、およびPython アプリケーションの場合:
- 新しいアプリまたは初めての OpenTelemetry の導入:Microsoft OpenTelemetry Distro を使用します。
- Azure Monitor OpenTelemetry Distro を既に使用しています:アクションは必要ありません。
- Application Insights .NET SDK 2.x を使用している場合:3.x にアップグレードして再インストルメンテーションを最小限に抑えるか、Microsoft OpenTelemetry Distro で新たに開始します。
Java アプリケーションの場合は、Azure Monitor OpenTelemetry Distro を使用します。
AI 支援インストルメンテーション ガイダンスについては、 Application Insights インストルメンテーション スキルを参照してください。 既存の Application Insights インストルメンテーションのガイド付きセットアップと分析については、Azure Monitor用の Azure MCP Server ツールを参照してください。
このガイダンスでは、Microsoft OpenTelemetry Distro を使用してアプリケーションに可観測性を追加する方法について説明します。 Distro は、組み込みのインストルメンテーションを使用してトレース、メトリック、ログを自動的に収集し、テレメトリを Azure Monitor、任意の OpenTelemetry Protocol (OTLP) エンドポイント、または Microsoft Agent 365 にエクスポートします。
その他のコレクションとエクスポートのオプションについては、「openTelemetry with Azure Monitor」を参照してください。
OpenTelemetry のリリースの状態
パッケージの詳細とリリース ノートについては、「 次の手順」を参照してください。
注記
Azure 関数アプリについては、「Azure Functions で OpenTelemetry を使用する」を参照してください。
Application Insights で OpenTelemetry を有効にする
このセクションの手順に従い、OpenTelemetry を使用してアプリケーションをインストルメント化します。 言語固有の手順のタブを選択します。
Microsoft OpenTelemetry Distro パッケージ識別子とインストール コマンドは次のとおりです。
| Language | Package | インストール コマンド |
|---|---|---|
| Python | microsoft-opentelemetry |
pip install microsoft-opentelemetry |
| Node.js | @microsoft/opentelemetry |
npm install @microsoft/opentelemetry |
| .NET | Microsoft.OpenTelemetry |
dotnet add package Microsoft.OpenTelemetry |
Java では、Java タブと Java native タブで説明されているエージェントまたは native-image 統合を使用します。
Web アプリケーションの場合は [ASP.NET Core] タブ、コンソールやその他のホストされていないアプリケーションの場合は [.NET] タブを使用します。
前提条件
- Azure サブスクリプション: Azure サブスクリプションを無料で作成します
- Application Insights リソース: Application Insights リソースを作成する
ASP.NET Core Application .NET
ヒント
Application Insights .NET SDK 2.x からアップグレードする場合は、SDK 3.x 移行ガイダンスに従ってください。 このアップグレードでは、Microsoft OpenTelemetry Distro に切り替える必要はありません。
クライアント ライブラリをインストールする
注記
これらのインストール手順は、Microsoft OpenTelemetry Distro を使用するアプリケーションを対象とします。 これらは、既存の Azure Monitor OpenTelemetry Distro ユーザーにとってアップグレード要件ではありません。 同じアプリケーションで両方のディストリビューションを初期化しないでください。 スタンドアロン Azure Monitor エクスポーター パッケージは、既存の名前を保持します。
Microsoft.OpenTelemetry NuGet パッケージをインストールします。
dotnet add package Microsoft.OpenTelemetry
アプリケーションを変更する
アプリケーションが処理を開始する前に、Microsoft OpenTelemetry Distro を初期化します。 次の例では、変換先としてAzure Monitorを選択し、APPLICATIONINSIGHTS_CONNECTION_STRING環境変数から接続文字列を読み取ります。 この記事で後述するように、アプリケーションを開始する前にその変数を設定します。
コードで接続文字列を設定することもできます。 .NETの場合は、options.AzureMonitor.ConnectionString内でUseMicrosoftOpenTelemetry()を使用します。 サポートされているすべての言語については、「接続文字列の構成」を参照してください。
Program.csで、Microsoft OpenTelemetry Distro を使用するようにアプリケーション ビルダーを構成します。
// Import the distro API.
using Microsoft.OpenTelemetry;
// Create the application builder.
var builder = WebApplication.CreateBuilder(args);
// Initialize the Microsoft OpenTelemetry Distro with Azure Monitor export.
builder.UseMicrosoftOpenTelemetry(options =>
{
options.Exporters = ExportTarget.AzureMonitor;
});
// Build and run the application.
var app = builder.Build();
app.Run();
Application Insights リソースから接続文字列をコピーする
接続文字列は、テレメトリを受信する Application Insights リソースを識別します。
接続文字列をコピーするには:
- Application Insights リソースの [概要 ] ウィンドウに移動します。
- Connection stringを見つけてください。
- 接続文字列にカーソルを合わせ、Copy to clipboard アイコンを選択します。
環境に接続文字列を貼り付ける
接続文字列を貼り付けるには、次のいずれかの方法を使用します。
| メソッド | サポートされている言語 | 推奨対象 |
|---|---|---|
| 環境変数 | All | 生産 |
構成ファイル (applicationinsights.json) |
Java のみ | 運用 (Java) |
| Code | .NET、Node.js、Python | ローカル開発/テストのみ |
重要
ローカルの開発環境とテスト環境でのみ、コードを使用して接続文字列を設定することをお勧めします。
運用環境では、環境変数または構成ファイルを使用します (Javaのみ)。
Application Insights 接続文字列を環境変数として設定します (運用環境に推奨)
Bash では次のとおりです。
export APPLICATIONINSIGHTS_CONNECTION_STRING="<ConnectionString>"PowerShell では次のとおりです。
$env:APPLICATIONINSIGHTS_CONNECTION_STRING = "<ConnectionString>"Application Insights 接続文字列を構成ファイルに設定します - Java のみ
次のコンテンツを使って、
applicationinsights.jsonという名前の構成ファイルを作成し、applicationinsights-agent-3.7.9.jarと同じディレクトリに配置します。{ "connectionString": "<ConnectionString>" }- .NET、Node.js、Python のみ
Microsoft OpenTelemetry Distro のオプションについては、.NET、Node.js、またはPythonのドキュメントを参照してください。
データが流れていることを確認する
ディストリビューションを構成し、接続文字列を設定したら、アプリケーションを実行し、トラフィックまたはログ メッセージを生成します。 Azure ポータルで Application Insights リソースを開き、テレメトリが表示されることを確認します。 データが表示されるまでに数分かかる場合があります。
Application Insights がアプリケーションに対して有効になりました。 次の手順は省略可能であり、さらにカスタマイズできます。
注記
Application Insights インストルメンテーションの使用の一環として、診断データを収集してMicrosoftに送信します。 このデータは、Application Insights の実行と改善に役立ちます。 詳細については、Application Insights に関する FAQ を参照してください。
重要
同じ Application Insights リソースにテレメトリを出力するサービスが 2 つ以上ある場合は、クラウド ロール名をアプリケーション マップ上で適切に表す名前を設定する必要があります。
トラブルシューティング、フィードバック、サポート
ヒント
以下のセクションは、OpenTelemetry ディストリビューションのすべての記事で使用できます。
Troubleshooting
トラブルシューティングの情報については、「
OpenTelemetry のフィードバック
フィードバックを提供するには:
- OpenTelemetry コミュニティのカスタマー フィードバック アンケートに記入してください。
- OpenTelemetry 早期導入者コミュニティに参加して、自分についてMicrosoftに伝えます。
- Microsoft Tech Community の他のAzure Monitor ユーザーと交流します。
- Azureフィードバック フォーラムで機能要求を行います。
サポート
選択した言語のタブを選択して、サポート オプションを検出します。
- Azure サポートの問題については、Azure サポート チケットを開きます。
- OpenTelemetry の問題については、OpenTelemetry .NET コミュニティに直接お問い合わせください。
- Azure Monitor エクスポーターに関連する未解決の問題の一覧については、「GitHub問題を参照してください。
次のステップ
- ソース コードを確認するには、.NET 向け Microsoft OpenTelemetry Distro リポジトリを参照してください。
- サンプル アプリケーションを確認するには、「Microsoft OpenTelemetry Distro for ASP.NET Core」を参照してください。
- NuGet パッケージをインストールしたり、更新プログラムを確認したり、リリース ノートを表示したりするには、Microsoft.OpenTelemetry packageを参照してください。
- OpenTelemetry
Azure.Monitor.OpenTelemetry.AspNetCoreを引き続き使用するアプリケーションについては、Azure Monitor ディストリビューションのドキュメントを参照してください。 - OpenTelemetry とそのコミュニティの詳細については、OpenTelemetry .NET GitHub リポジトリを参照してください。
- 使用エクスペリエンスを有効にするには、Web またはブラウザーのユーザー監視を有効にします。