次の方法で共有


.NET、Node.js、Python、およびJava アプリケーションAzure Monitor OpenTelemetry を有効にする

この記事では、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) など、複数のシナリオについて説明します。

前提条件

  • ASP.NET Core Application .NET

ヒント

Application Insights クラシック API から移行する場合は、 移行に関するドキュメントを参照してください

クライアント ライブラリをインストールする

最新の NuGet パッケージ:

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 が収集したテレメトリを送信する場所を指定します。

ヒント

Application Insights リソースがまだない場合は、 このガイドに従って作成します。 既存のリソースを使用するのではなく、新しいリソース 作成することをお勧めします。

connection stringをコピーするには:

  1. Application Insights リソースの [概要 ] ウィンドウに移動します。
  2. connection stringを見つけてください。
  3. connection stringにカーソルを合わせ、Copy to clipboard アイコンを選択します。

Application Insights の概要と接続文字列を示すスクリーンショット

環境に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を複数の場所に設定すると、環境変数は次の順序で優先されます。

  1. Code
  2. 環境変数
  3. 構成ファイル

データが流れていることを確認する

アプリケーションを実行し、Azure ポータルで Application Insights を開きます。 データが表示されるまでに数分かかる場合があります。

[Application Insights の概要] タブのスクリーンショット。サーバー要求とサーバーの応答時間が強調表示されています。

Application Insights がアプリケーションに対して有効になりました。 次の手順は省略可能であり、さらにカスタマイズできます。

注記

Application Insights インストルメンテーションの使用時に、診断データが収集され、Microsoft に送信されます。 このデータは、Application Insights の実行と改善に役立ちます。 詳細については、Application Insights に関する FAQ を参照してください

重要

同じ Application Insights リソースにテレメトリを出力するサービスが 2 つ以上ある場合は、クラウド ロール名をアプリケーション マップ上で適切に表す名前を設定する必要があります。

トラブルシューティング、フィードバック、サポート

ヒント

以下のセクションは、OpenTelemetry ディストリビューションのすべての記事で使用できます。

Troubleshooting

トラブルシューティング情報については、「 .NET での OpenTelemetry の問題のトラブルシューティング 」および 「Azure Monitor Application Insights の不足しているアプリケーション テレメトリのトラブルシューティング」を参照してください。

OpenTelemetry のフィードバック

フィードバックを提供するには:

サポート

選択した言語のタブを選択して、サポート オプションを検出します。

次のステップ