Azure App Service アプリに対して Profiler を有効にする
Application Insights Profiler は、Azure App Service ランタイムの一部として事前インストールされています。 Profiler は、Basic 以上のサービス レベルを使用することで、App Service で実行されている ASP.NET および ASP.NET Core アプリで実行できます。
Application Insights Profiler のコードレス インストール:
- 「.NET Core サポート ポリシー」に従います。
- Windows ベース の Web アプリでのみサポートされます。
Linux 上で Profiler を有効にするには、ASP.NET Core Azure Linux Web アプリの手順を実施してください。
前提条件
- Azure App Service ASP.NET/ASP.NET Core アプリ。
- お使いの App Service アプリに接続されている Application Insights リソース。
[Always On] 設定が有効になっていることを確認する
Azure portal で App Service インスタンスに移動します。
左側のウィンドウの [設定] で、[構成] を選択します。
[全般設定] タブを選択します。
[Always On]>[オン] が選択されていることを確認します。
変更した場合は、 [保存] を選択します。
Application Insights と Profiler を有効にする
次のいずれかの場合に、Profiler を有効にできます。
- Application Insights リソースと App Service リソースが同じサブスクリプション内にある。
- Application Insights リソースと App Service リソースが個別のサブスクリプション内にある。
Application Insights と App Service が同じサブスクリプションにある場合
お使いの App Service のインスタンスと同じサブスクリプションに Application Insights リソースがある場合:
左側のウィンドウの [設定] で、[Application Insights] を選択します。
[Application Insights] で [有効化] を選択します。
Application Insights リソースがアプリに接続されていることを確認します。
下にスクロールし、お使いのアプリに応じて [.NET] または [.NET Core] タブを選択します。
[コレクション レベル]>[推奨] が選択されていることを確認します。
[Profiler] で [オン] を選択します。
前に [コレクション レベル] で [Basic] を選択した場合、Profiler の設定は無効になります。
[適用]>[はい] を選択して確定します。
Application Insights と App Service が異なるサブスクリプションにある場合
Application Insights リソースが App Service のインスタンスとは異なるサブスクリプションにある場合は、App Service インスタンスのアプリ設定を作成して Profiler を手動で有効にする必要があります。 テンプレートやその他の手段を使用して、これらの設定の作成を自動化できます。 Profiler を有効にするために必要な設定を次に示します。
アプリ設定 | 値 |
---|---|
APPINSIGHTS_INSTRUMENTATIONKEY | Application Insights リソースの iKey |
APPINSIGHTS_PROFILERFEATURE_VERSION | 1.0.0 |
DiagnosticServices_EXTENSION_VERSION | ~3 |
次のものを使用してこれらの値を設定します。
リージョン クラウドの Profiler を有効にする
現在、エンドポイントの変更が必要なリージョンは Azure Government と 21Vianet によって運営される 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 は、プロファイル インジェストに対する Microsoft Entra 認証をサポートします。 アプリケーションのすべてのプロファイルが取り込まれるようにするには、アプリケーションを認証し、必要なアプリケーション設定を Profiler エージェントに提供する必要があります。
Profiler が Microsoft Entra 認証をサポートするのは、アプリケーションで Application Insights SDK を使用して、Microsoft Entra ID を参照および構成するときのみです。
プロファイル インジェストに対して Microsoft Entra ID を有効にするには:
Application Insights リソースに対して認証するマネージド ID を作成して App Service に追加します。
Application Insights リソースで Microsoft Entra ID を構成して有効にします。
次のアプリケーション設定を追加して、使用するマネージド ID を Profiler エージェントに知らせます。
システム割り当て ID の場合:
アプリ設定 値 APPLICATIONINSIGHTS_AUTHENTICATION_STRING Authorization=AAD
ユーザー割り当て ID の場合:
アプリ設定 値 APPLICATIONINSIGHTS_AUTHENTICATION_STRING Authorization=AAD;ClientId={Client id of the User-Assigned Identity}
Profiler を無効にする
個々のアプリのインスタンスの Profiler を停止または再起動するには、次のようにします。
左側のウィンドウの [設定] で、[WebJobs] を選択します。
ApplicationInsightsProfiler3
という名前の Web ジョブを選択します。[停止] を選択します。
[はい] を選択して確定します。
パフォーマンスの問題をできるだけ早く検出するために、すべてのアプリで Profiler を有効にすることをお勧めします。
WebDeploy を使用して Web アプリケーションへの変更をデプロイするときに、Profiler のファイルを削除できます。 App_Data フォルダーを除外しておけば、デプロイ中に削除されることを防ぐことができます。
次のステップ
- 負荷を生成し、Profiler トレースを表示する方法について説明します
- Application Insights Profiler と共にコード最適化機能を使用する方法について説明します