.NET、Node.js、Python、Java アプリケーションの OpenTelemetry を有効にする

注記

.NET、Node.js、およびPython アプリケーションの場合:

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] タブを使用します。

前提条件

  • 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 リソースがまだない場合は、 このガイドに従って作成します。 既存のリソースを使用するのではなく、新しいリソース を作成することをお勧めします。

接続文字列をコピーするには:

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

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

環境に接続文字列を貼り付ける

接続文字列を貼り付けるには、次のいずれかの方法を使用します。

メソッド サポートされている言語 推奨対象
環境変数 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 がアプリケーションに対して有効になりました。 次の手順は省略可能であり、さらにカスタマイズできます。

注記

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

重要

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

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

ヒント

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

Troubleshooting

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

OpenTelemetry のフィードバック

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

サポート

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

次のステップ