この記事では、Azure Monitor Application Insights 内で OpenTelemetry ベースのデータ収集を有効にして構成する方法について説明します。 Azure Monitor OpenTelemetry Distro:
- OpenTelemetry ディストリビューションを提供します。これには、Azure Monitor固有の機能のサポートが含まれます。
- トレース、メトリック、ログ、例外を収集するための OpenTelemetry インストルメンテーション ライブラリを含めることで、 自動 テレメトリを有効にします。
- カスタム テレメトリの収集を許可します。
- ライブ メトリックをサポートし、ライブの運用中の Web アプリケーションからテレメトリを監視および収集します。
Azure Monitor OpenTelemetry Distro を使用する利点の詳細については、「Azure Monitor OpenTelemetry Distro を使用する必要があります>を参照してください。
OpenTelemetry を使用したデータ収集の詳細については、 Application Insights エクスペリエンスの OpenTelemetry (OTel) の収集 または OpenTelemetry に関する FAQ を参照してください。
OpenTelemetry のリリースの状態
OpenTelemetry オファリングは、.NET、Node.js、Python、およびJavaアプリケーションで利用できます。 機能ごとのリリースの状態については、 FAQ を参照してください。
注記
Azure 関数アプリについては、「Use OpenTelemetry with Azure Functions」を参照してください。
Application Insights で OpenTelemetry を有効にする
このセクションの手順に従い、OpenTelemetry を使用してアプリケーションをインストルメント化します。 言語固有の手順のタブを選択します。
注記
.NETでは、クラシック ASP.NET、コンソール アプリ、Windows Forms (WinForms) など、複数のシナリオについて説明します。
前提条件
- Azure サブスクリプション: Azure サブスクリプションを無料で作成します
- Application Insights リソース: Application Insights リソースを作成する
ASP.NET Core Application .NET
ヒント
Application Insights クラシック API から移行する場合は、 移行に関するドキュメントを参照してください。
クライアント ライブラリをインストールする
最新の
dotnet add package Azure.Monitor.OpenTelemetry.AspNetCore
アプリケーションを変更する
Azure.Monitor.OpenTelemetry.AspNetCore 名前空間をインポートし、OpenTelemetry を追加し、program.cs クラスでAzure Monitorを使用するように構成します。
// Import the Azure.Monitor.OpenTelemetry.AspNetCore namespace.
using Azure.Monitor.OpenTelemetry.AspNetCore;
var builder = WebApplication.CreateBuilder(args);
// Add OpenTelemetry and configure it to use Azure Monitor.
builder.Services.AddOpenTelemetry().UseAzureMonitor();
var app = builder.Build();
app.Run();
Application Insights リソースからconnection stringをコピーする
connection stringは一意であり、Azure Monitor OpenTelemetry Distro が収集したテレメトリを送信する場所を指定します。
connection stringをコピーするには:
- Application Insights リソースの [概要 ] ウィンドウに移動します。
- connection stringを見つけてください。
- connection stringにカーソルを合わせ、Copy to clipboard アイコンを選択します。
環境にconnection stringを貼り付ける
connection stringを貼り付けるには、次のオプションから選択します。
重要
ローカルの開発環境とテスト環境でのみ、コードを使用してconnection stringを設定することをお勧めします。
運用環境では、環境変数または構成ファイルを使用します (Javaのみ)。
環境変数を使用して設定します - 推奨
コマンド内の
<Your connection string>をあなたのconnection stringに置き換えてください。APPLICATIONINSIGHTS_CONNECTION_STRING=<Your connection string>構成ファイル経由で設定 - Javaのみ
次のコンテンツを使って、
applicationinsights.jsonという名前の構成ファイルを作成し、applicationinsights-agent-3.7.5.jarと同じディレクトリに配置します。{ "connectionString": "<Your connection string>" }前の JSON の
<Your connection string>をあなたの一意の接続文字列で置き換えます。code - ASP.NET Core、Node.js、およびPythonのみを使用して設定
コードによるconnection stringの設定の例についてはconnection string構成を参照してください。
注記
connection stringを複数の場所に設定すると、環境変数は次の順序で優先されます。
- Code
- 環境変数
- 構成ファイル
データが流れていることを確認する
アプリケーションを実行し、Azure ポータルで Application Insights を開きます。 データが表示されるまでに数分かかる場合があります。
Application Insights がアプリケーションに対して有効になりました。 次の手順は省略可能であり、さらにカスタマイズできます。
注記
Application Insights インストルメンテーションの使用時に、診断データが収集され、Microsoft に送信されます。 このデータは、Application Insights の実行と改善に役立ちます。 詳細については、Application Insights に関する FAQ を参照してください。
重要
同じ Application Insights リソースにテレメトリを出力するサービスが 2 つ以上ある場合は、クラウド ロール名をアプリケーション マップ上で適切に表す名前を設定する必要があります。
トラブルシューティング、フィードバック、サポート
ヒント
以下のセクションは、OpenTelemetry ディストリビューションのすべての記事で使用できます。
Troubleshooting
トラブルシューティング情報については、「 .NET での OpenTelemetry の問題のトラブルシューティング 」および 「Azure Monitor Application Insights の不足しているアプリケーション テレメトリのトラブルシューティング」を参照してください。
OpenTelemetry のフィードバック
フィードバックを提供するには:
- OpenTelemetry コミュニティのカスタマー フィードバック アンケートに記入してください。
- Microsoft の OpenTelemetry 早期導入者コミュニティに参加して、お客様自身のことをお知らせください。
- Microsoft Tech Community で他の Azure Monitor ユーザーと交流してください。
- Azure フィードバック フォーラムで機能に関する要求を行ってください。
サポート
選択した言語のタブを選択して、サポート オプションを検出します。
- Azure サポートの問題については、Azure サポート チケットを開いてください。
- OpenTelemetry の問題については、OpenTelemetry .NET コミュニティに直接問い合わせてください。
- Azure Monitor Exporter に関連する未解決の問題の一覧については、GitHub のイシュー ページを参照してください。
次のステップ
- ソース コードを確認するには、 Azure Monitor ASP.NET Core GitHub リポジトリを参照してください。
- サンプル アプリケーションを確認するには、 ASP.NET Core の Azure Monitor OpenTelemetry に関するページを参照してください。
- NuGet パッケージをインストールしたり、更新プログラムを確認したり、リリース ノートを表示したりするには、Azure Monitor AspNetCore NuGet パッケージ ページを参照してください。
- OpenTelemetry とそのコミュニティの詳細については、OpenTelemetry .NET GitHub リポジトリを参照してください。
- 使用エクスペリエンスを有効にするには、Web またはブラウザーのユーザー監視を有効にします。