Azure アプリケーション Insights エージェント (旧称 Status Monitor v2) のトラブルシューティング
この記事では、Application Insights の監視が有効になっているときに発生する可能性があるデータ収集の問題を解決するためのトラブルシューティング情報を提供します。
既知の問題
アプリの bin ディレクトリ内の DLL の競合
これらのダイナミック リンク ライブラリ (DLL) のいずれかが bin ディレクトリに存在する場合、監視が失敗する可能性があります。
- Microsoft.ApplicationInsights.dll
- Microsoft.AspNet.TelemetryCorrelation.dll
- System.Diagnostics.DiagnosticSource.dll
これらの DLL の一部は、アプリで使用されていない場合でも、Visual Studio の既定のアプリ テンプレートに含まれています。 次のツールなどのトラブルシューティング ツールを使用して、症状の動作を確認できます。
PerfView:
ThreadID="7,500" ProcessorNumber="0" msg="Found 'System.Diagnostics.DiagnosticSource, Version=4.0.2.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' assembly, skipping attaching redfield binaries" ExtVer="2.8.13.5972" SubscriptionId="" AppName="" FormattedMessage="Found 'System.Diagnostics.DiagnosticSource, Version=4.0.2.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' assembly, skipping attaching redfield binaries"
IISReset とアプリの読み込み (テレメトリなし)。 Sysinternals (Handle.exe と ListDLLs.exe) を使用して調査します。
.\handle64.exe -p w3wp | findstr /I "InstrumentationEngine AI. ApplicationInsights" E54: File (R-D) C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Runtime\Microsoft.ApplicationInsights.RedfieldIISModule.dll .\Listdlls64.exe w3wp | findstr /I "InstrumentationEngine AI ApplicationInsights" 0x0000000009be0000 0x127000 C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Instrumentation64\MicrosoftInstrumentationEngine_x64.dll 0x0000000009b90000 0x4f000 C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Instrumentation64\Microsoft.ApplicationInsights.ExtensionsHost_x64.dll 0x0000000004d20000 0xb2000 C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Instrumentation64\Microsoft.ApplicationInsights.Extensions.Base_x64.dll
PowerShell のバージョン
この製品は、PowerShell バージョン 5.1 を使用して記述およびテストされました。 このモジュールは、PowerShell バージョン 6 または 7 と互換性がありません。 新しいバージョンと共に PowerShell 5.1 を使用することをお勧めします。 詳細については、「 PowerShell 5.1 での PowerShell 7 のサイド バイ サイドの使用」を参照してください。
IIS 共有構成との競合
Web サーバーのクラスターがある場合は、 共有構成を使用している可能性があります。 HttpModule をこの共有構成に挿入することはできません。 各 Web サーバーで Enable コマンドを実行して、各サーバーのグローバル アセンブリ キャッシュ (GAC) に DLL をインストールします。
Enable コマンドを実行した後、次の手順を実行します。
共有構成ディレクトリに移動し、 applicationHost.config ファイルを見つけます。
構成の modules> セクションに<次の XML コードを追加します。
<modules> <!-- Registered global managed http module handler. The 'Microsoft.AppInsights.IIS. ManagedHttpModuleHelper.dll' must be installed in the GAC before this config is applied. --> <add name="ManagedHttpModuleHelper" type="Microsoft.AppInsights.IIS.ManagedHttpModuleHelper. ManagedHttpModuleHelper, Microsoft.AppInsights.IIS.ManagedHttpModuleHelper, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" /> </modules>
IIS の入れ子になったアプリケーション
バージョン 1.0 では、インターネット インフォメーション サービス (IIS) で入れ子になったアプリケーションをインストルメント化しません。
高度な SDK 構成は使用できません
SDK 構成は、バージョン 1.0 ではエンド ユーザーに公開されません。
PowerShell のトラブルシューティング
使用可能なモジュールを決定する
コマンドを Get-Module -ListAvailable
使用して、インストールされているモジュールを判別できます。
現在のセッションにモジュールをインポートする
モジュールが PowerShell セッションに読み込まれていない場合は、コマンドを実行 Import-Module <path to psd1>
して手動で読み込むことができます。
Application Insights エージェント モジュールのトラブルシューティング
Application Insights エージェント モジュールで使用できるコマンドを一覧表示する
コマンドを Get-Command -Module Az.ApplicationMonitor
実行して、使用可能なコマンドを取得します。
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Disable-ApplicationInsightsMonitoring 0.4.0 Az.ApplicationMonitor
Cmdlet Disable-InstrumentationEngine 0.4.0 Az.ApplicationMonitor
Cmdlet Enable-ApplicationInsightsMonitoring 0.4.0 Az.ApplicationMonitor
Cmdlet Enable-InstrumentationEngine 0.4.0 Az.ApplicationMonitor
Cmdlet Get-ApplicationInsightsMonitoringConfig 0.4.0 Az.ApplicationMonitor
Cmdlet Get-ApplicationInsightsMonitoringStatus 0.4.0 Az.ApplicationMonitor
Cmdlet Set-ApplicationInsightsMonitoringConfig 0.4.0 Az.ApplicationMonitor
Cmdlet Start-ApplicationInsightsMonitoringTrace 0.4.0 Az.ApplicationMonitor
Application Insights エージェント モジュールの現在のバージョンを確認する
コマンドを Get-ApplicationInsightsMonitoringStatus -PowerShellModule
実行して、モジュールに関する次の情報を表示します。
- PowerShell モジュールのバージョン
- Application Insights SDK のバージョン
- PowerShell モジュールのファイル パス
このコマンドレットの使用方法の詳細については、 Get-ApplicationInsightsMonitoringStatus リファレンスを参照 してください。
実行中のプロセスのトラブルシューティング
インストルメント化されたコンピューター上のプロセスを検査して、すべての DLL が読み込まれ、環境変数が設定されているかどうかを判断できます。 監視が機能している場合は、少なくとも 12 個の DLL を読み込む必要があります。
- DLL を
Get-ApplicationInsightsMonitoringStatus -InspectProcess
チェックするには、 コマンドを使用します。 - コマンドを
(Get-Process -id <process-identifier>).StartInfo.EnvironmentVariables
使用して環境変数をチェックします。 ワーカー プロセスまたは .NET Core プロセスでは、次の環境変数が設定されます。
COR_ENABLE_PROFILING=1
COR_PROFILER={324F817A-7420-4E6D-B3C1-143FBED6D855}
COR_PROFILER_PATH_32=<path-to-MicrosoftInstrumentationEngine_x86.dll>
COR_PROFILER_PATH_64=<path-to-MicrosoftInstrumentationEngine_x64.dll>
MicrosoftInstrumentationEngine_Host={CA487940-57D2-10BF-11B2-A3AD5A13CBC0}
MicrosoftInstrumentationEngine_HostPath_32=<path-to-Microsoft.ApplicationInsights.ExtensionsHost_x86.dll>
MicrosoftInstrumentationEngine_HostPath_64=<path-to-Microsoft.ApplicationInsights.ExtensionsHost_x64.dll>
MicrosoftInstrumentationEngine_ConfigPath32_Private=<path-to-Microsoft.InstrumentationEngine.Extensions.config>
MicrosoftInstrumentationEngine_ConfigPath64_Private=<path-to-Microsoft.InstrumentationEngine.Extensions.config>
MicrosoftAppInsights_ManagedHttpModulePath=<path-to-Microsoft.ApplicationInsights.RedfieldIISModule.dll>
MicrosoftAppInsights_ManagedHttpModuleType=Microsoft.ApplicationInsights.RedfieldIISModule.RedfieldIISModule
ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=Microsoft.ApplicationInsights.StartupBootstrapper
DOTNET_STARTUP_HOOKS=<path-to-Microsoft.ApplicationInsights.StartupHook.dll>
このコマンドレットの使用方法の詳細については、 Get-ApplicationInsightsMonitoringStatus リファレンスを参照 してください。
PerfView を使用して ETW ログを収集する
セットアップ
GitHub から PerfView.exe をダウンロードします。
PerfView.exeを実行します。
メニュー バーの [Collect Collect]\(収集\)> を選択します。
[ 詳細オプション] を展開します。
次のチェック ボックスをオフにします。
- Zip
- Merge
- .NET シンボル コレクション
次 の追加プロバイダーを設定します。
*Microsoft-ApplicationInsights-AspNetCore,*Microsoft-ApplicationInsights-AspNetCore-AiHostingStartup,*Microsoft-ApplicationInsights-AspNetCore-StartupBootstrapper,*Microsoft-ApplicationInsights-AspNetCore-StartupHook,*Microsoft-ApplicationInsights-Core,*Microsoft-ApplicationInsights-Data,*Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Dependency,*Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Web,*Microsoft-ApplicationInsights-Extensibility-DependencyCollector,*Microsoft-ApplicationInsights-Extensibility-EventCounterCollector,*Microsoft-ApplicationInsights-Extensibility-EventSourceListener,*Microsoft-ApplicationInsights-Extensibility-HostingStartup,*Microsoft-ApplicationInsights-Extensibility-PerformanceCollector,*Microsoft-ApplicationInsights-Extensibility-PerformanceCollector-QuickPulse,*Microsoft-ApplicationInsights-Extensibility-Web,*Microsoft-ApplicationInsights-Extensibility-WindowsServer,*Microsoft-ApplicationInsights-FrameworkLightup,*Microsoft-ApplicationInsights-IIS-ManagedHttpModuleHelper,*Microsoft-ApplicationInsights-Java-IPA,*Microsoft-ApplicationInsights-LoggerProvider,*Microsoft-ApplicationInsights-Nodejs-IPA,*Microsoft-ApplicationInsights-RedfieldIISModule,*Microsoft-ApplicationInsights-SnapshotCollectorLightup,*Microsoft-ApplicationInsights-WindowsServer-Core,*Microsoft-ApplicationInsights-WindowsServer-TelemetryChannel,*Redfield-Microsoft-ApplicationInsights-AspNetCore,*Redfield-Microsoft-ApplicationInsights-Core,*Redfield-Microsoft-ApplicationInsights-Data,*Redfield-Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Dependency,*Redfield-Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Web,*Redfield-Microsoft-ApplicationInsights-Extensibility-DependencyCollector,*Redfield-Microsoft-ApplicationInsights-Extensibility-EventCounterCollector,*Redfield-Microsoft-ApplicationInsights-Extensibility-EventSourceListener,*Redfield-Microsoft-ApplicationInsights-Extensibility-PerformanceCollector,*Redfield-Microsoft-ApplicationInsights-Extensibility-PerformanceCollector-QuickPulse,*Redfield-Microsoft-ApplicationInsights-Extensibility-Web,*Redfield-Microsoft-ApplicationInsights-Extensibility-WindowsServer,*Redfield-Microsoft-ApplicationInsights-LoggerProvider,*Redfield-Microsoft-ApplicationInsights-WindowsServer-TelemetryChannel
ログを収集する
管理者特権を持つコマンド コンソールで、 コマンドを
iisreset /stop
実行して、IIS とすべての Web アプリをオフにします。PerfView で、[ コレクションの開始] を選択します。
管理者特権を持つコマンド コンソールで、 コマンドを
iisreset /start
実行して IIS を起動します。アプリを参照してみてください。
アプリが読み込まれたら、PerfView に戻り、[ コレクションの停止] を選択します。
次の手順
- API リファレンスを確認して、見逃した可能性のあるパラメーターについて学習します。
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示