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 のコードレス インストール:
- 「.NET Core サポート ポリシー」に従います。
- Windows ベース の Web アプリでのみサポートされます。
Linux 上で .NET 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]>[オン] が選択されていることを確認します。
Note
[Always On] トグルが無効になっている場合は、App Service Web アプリを Basic レベル以上で実行するようにアップグレードします。
変更した場合は、 [保存] を選択します。
Application Insights と .NET 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 for .NET を手動で有効にする必要があります。 テンプレートやその他の手段を使用して、これらの設定の作成を自動化できます。 Profiler を有効にするために必要な設定を次に示します。
アプリ設定 | 値 |
---|---|
APPINSIGHTS_INSTRUMENTATIONKEY | Application Insights リソースの iKey |
APPINSIGHTS_PROFILERFEATURE_VERSION | 1.0.0 |
DiagnosticServices_EXTENSION_VERSION | ~3 |
次のものを使用してこれらの値を設定します。
リージョン クラウドに対して .NET 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 for .NET は、プロファイル インジェストに対する 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}
.NET Profiler を無効にする
個々のアプリのインスタンスの Profiler を停止または再起動するには、次のようにします。
左側のウィンドウの [設定] で、[WebJobs] を選択します。
ApplicationInsightsProfiler3
という名前の Web ジョブを選択します。[停止] を選択します。
[はい] を選択して確定します。
パフォーマンスの問題をできるだけ早く検出するために、すべてのアプリで Profiler を有効にすることをお勧めします。
WebDeploy を使用して Web アプリケーションへの変更をデプロイするときに、Profiler のファイルを削除できます。 App_Data フォルダーを除外しておけば、デプロイ中に削除されることを防ぐことができます。
次のステップ
- 「負荷を生成し、.NET Profiler トレースを表示する」方法を参照してください
- Application Insights Profiler for .NET と共にコード最適化機能を使用する方法を参照してください