Azure App Service アプリに対して .NET Profiler を有効にする

Application Insights Profiler for .NET は、Azure App Service ランタイムの一部として事前インストールされています。 Profiler は、Basic 以上のサービス レベルを使用することで、App Service で実行されている ASP.NET および ASP.NET Core アプリで実行できます。

Application Insights Profiler for .NET のコードレス インストール:

Linux 上で .NET Profiler を有効にするには、ASP.NET Core Azure Linux Web アプリの手順を実施してください。

前提条件

[Always On] 設定が有効になっていることを確認する

  1. Azure portal で App Service インスタンスに移動します。

  2. 左側のメニューで、[設定]>[構成] の順に選択します。

    左側のウィンドウでの [構成] の選択を示すスクリーンショット。

  3. [全般設定] タブを選択します。

  4. [Always On]>[オン] が選択されていることを確認します。

    Note

    [Always On] トグルが無効になっている場合は、App Service Web アプリを Basic レベル以上で実行するようにアップグレードします。

    [Always On] が有効になっている [構成] ウィンドウの [全般] タブを示すスクリーンショット。

  5. 変更した場合は、 [保存] を選択します。

Application Insights と .NET Profiler を有効にする

次のいずれかの場合に、Profiler を有効にできます。

Application Insights と App Service が同じサブスクリプションにある場合

お使いの App Service のインスタンスと同じサブスクリプションに Application Insights リソースがある場合:

  1. 左側のメニューで、[モニター中]>[Application Insights] の順に選択します。

  2. [Application Insights][有効化] を選択します。

  3. Application Insights リソースがアプリに接続されていることを確認します。

    アプリで Application Insights を有効にしていることを示すスクリーンショット。

  4. 下にスクロールし、お使いのアプリに応じて [.NET] または [.NET Core] タブを選択します。

  5. [コレクション レベル]>[推奨] が選択されていることを確認します。

  6. [Profiler][オン] を選択します。

    前に [コレクション レベル] で [Basic] を選択した場合、Profiler の設定は無効になります。

  7. [適用]>[はい] を選択して確定します。

    アプリで Profiler を有効にしていることを示すスクリーンショット。

Application Insights と App Service が異なるサブスクリプションにある場合

Application Insights リソースが App Service のインスタンスとは異なるサブスクリプションにある場合は、App Service インスタンスのアプリ設定を作成して Profiler for .NET を手動で有効にする必要があります。 テンプレートやその他の手段を使用して、これらの設定の作成を自動化できます。 Profiler を有効にするために必要な設定を次に示します。

アプリ設定
APPINSIGHTS_INSTRUMENTATIONKEY Application Insights リソースの iKey
APPINSIGHTS_PROFILERFEATURE_VERSION 1.0.0
DiagnosticServices_EXTENSION_VERSION ~3

次のものを使用してこれらの値を設定します。

リージョン クラウドに対して .NET Profiler を有効にする

現在、エンドポイントの変更が必要なリージョンは Azure Government21Vianet によって運営される Microsoft Azure のみです。

アプリ設定 米国政府のクラウド China Cloud
ApplicationInsightsProfilerEndpoint https://profiler.monitor.azure.us https://profiler.monitor.azure.cn
ApplicationInsightsEndpoint https://dc.applicationinsights.us https://dc.applicationinsights.azure.cn

プロファイル インジェストに対して Microsoft Entra 認証を有効にする

Application Insights Profiler for .NET は、プロファイル インジェストに対する Microsoft Entra 認証をサポートします。 アプリケーションのすべてのプロファイルが取り込まれるようにするには、アプリケーションを認証し、必要なアプリケーション設定を Profiler エージェントに提供する必要があります。

Profiler が Microsoft Entra 認証をサポートするのは、アプリケーションで Application Insights SDK を使用して、Microsoft Entra ID を参照および構成するときのみです。

プロファイル インジェストに対して Microsoft Entra ID を有効にするには:

  1. Application Insights リソースに対して認証するマネージド ID を作成して App Service に追加します。

    1. システム割り当てマネージド ID のドキュメント

    2. ユーザー割り当てマネージド ID のドキュメント

  2. Application Insights リソースで Microsoft Entra ID を構成して有効にします

  3. 次のアプリケーション設定を追加して、使用するマネージド ID を Profiler エージェントに知らせます。

    • システム割り当て ID の場合:

      アプリ設定
      APPLICATIONINSIGHTS_AUTHENTICATION_STRING Authorization=AAD
    • ユーザー割り当て ID の場合:

      アプリ設定
      APPLICATIONINSIGHTS_AUTHENTICATION_STRING Authorization=AAD;ClientId={Client id of the User-Assigned Identity}

.NET Profiler を無効にする

個々のアプリのインスタンスの Profiler を停止または再起動するには、次のようにします。

  1. 左側のウィンドウの [設定] で、[WebJobs] を選択します。

    左側のウィンドウでの [WebJobs] の選択を示すスクリーンショット。

  2. ApplicationInsightsProfiler3 という名前の Web ジョブを選択します。

  3. [停止] を選択します。

    Web ジョブを停止するために [停止] を選んでいることを示すスクリーンショット。

  4. [はい] を選択して確定します。

パフォーマンスの問題をできるだけ早く検出するために、すべてのアプリで Profiler を有効にすることをお勧めします。

WebDeploy を使用して Web アプリケーションへの変更をデプロイするときに、Profiler のファイルを削除できます。 App_Data フォルダーを除外しておけば、デプロイ中に削除されることを防ぐことができます。

次のステップ