IIS における「.NET 」トレースのトラブルシューティング
IISでホストされているアプリケーションにおいてトレースが期待どおりに機能しない場合は、具体的なケースに応じた対処法に進む前に、まず一般的なトラブルシューティングの手順から始めてください。
一般的なトラブルシューティング
以下のステップを実行します。
前提条件を確認してください:
- .NET のバージョン互換性を確認してください:アプリケーションが.NET Core Runtime 5.0 以降で動作することを確認してください。
Instana エージェントが実行されていることを確認してください:
- Windows でタスクマネージャーを開き、「 Instana 」エージェントプロセスを探してください。
- Instana のUIでエージェントの状態を確認します。
Instana のPCPが実行されていることを確認してください:
InstanaPCP.exeタスクマネージャーを開き、を検索します。- 実行されていない場合は、 Instana エージェントを再起動してください。
IISがリセットされたことを確認してください:
IISでホストされているアプリケーションにおいて最もよくある問題は、設定変更後に正常に動作
iisresetしなくなることです。 変更を加えた後は、必ず次のコマンドを実行してください:iisresetIL-Rewriterが正しく読み込まれているか確認するには、以下を実行してください:
アプリケーションログを確認し、IL-Rewriterの初期化メッセージがないか確認してください。 正常に実行された場合、次のような出力が表示されます:
*Initializing Instana IL-Rewriter for .NET Core* *Logging path is not set* *Loading configuration-file /app/instana_tracing/instrumentation.json*注: 環境によってはパスが異なる場合があります。- 「IL-Rewriter」の行が表示されない場合は、次の手順に記載されているとおり、必要な
CORECLR環境変数がすべて正しく設定され、アプリケーションから利用可能になっていることを確認してください。
環境変数の確認:トレースが機能しない場合は、以下の環境変数が正しく設定されているか確認してください:
- 正しく設定してください。
- 正しく綴られています。
- アプリケーションがデプロイされる環境に合わせて適切に設定してください。
- 有効であり、プロセスまたはアプリケーションからアクセス可能で、かつ正しい。
エラーのトラブルシューティングを行うには、 Windows のイベント ビューアのログを確認してください:
- イベント ビューアーを開きます。
- Go 」へ。
- アプリケーションやIISに関連するエラーや警告がないか確認してください。
- Instana に関連するイベントを確認してください。
イベントには、問題の診断に役立つタイムスタンプやエラーコードなどの詳細情報が含まれています。
1.NET で診断機能が有効になっていることを確認してください。環境変数 ` COMPlus_EnableDiagnostics ` および ` DOTNET_EnableDiagnostics ` が `true` に設定されていることを確認してください。 診断機能が無効になっている場合、IL-Rewriterはプロセスにアタッチできないため、呼び出しの書き換えやトレースの生成を行うことができません。
ケースごとのトラブルシューティング
一般的なトラブルシューティングを行っても問題が解決しない場合は、以下のトラブルシューティング手順をご確認ください:
シナリオ 1:トレースまたはスパンの欠落
症状: アプリケーションにメトリクスは表示されるがトレースが表示されない、一部のサービスではレポートされるが他のサービスでは表示されない、あるいはデプロイや更新後にトレースが停止する。
トラブルシューティングの手順
.NET 版アプリケーションがサポートされていることを確認してください:
- .NET Core 動作環境: 5.0 以降
- エージェント configuration.yaml ファイルでトレースが有効になっていることを確認してください。
- Log Collector を使用して、 または手動でログを収集して、トレースログを取得します。
Instana のトレースログを確認してください:
- ログが空であるか、トレースが表示されない場合は、アプリケーションがスパンを生成していないことを意味します。
- ログにトレースは記録されているものの、情報(ホスト名など)が欠落している場合は、.NET のトレース層に問題があります。
- ログにトレースが記録されており、そのトレースにUIには表示されていない情報が含まれている場合、問題は Instana のバックエンドまたはエージェントのいずれかで発生したことになります。
シナリオ 2: アプリケーションが起動しない
症状:Instana エージェントが実行されている場合、アプリケーションの起動に失敗する。
トラブルシューティングの手順
.NET 版アプリケーションがサポートされていることを確認してください:
- .NET Core 動作環境: 5.0 以降
- ログコレクター を使用するか、 手動でログを収集して、イベントビューアのログを取得します。
Instana のイベント ビューアーのログを確認してください:
- ログにエラーや警告が表示されているかどうかを確認してください。 イベントには、問題の診断に役立つタイムスタンプやエラーコードなどの詳細情報が含まれています。
- 「」を示す
InstanaPCP.exeエラーが表示された場合、 InstanaPCP が失敗したことを意味します。 その前のイベントを確認し、問題をさらに詳しく調査してください。
- アプリケーションのクラッシュダンプを取得してください。
シナリオ 3:エージェントが「.NET 」アプリケーションを検出しない
症状:.NET アプリケーションが Instana エージェントによって監視されておらず、UIに表示されません。
トラブルシューティングの手順
- Instana エージェントが管理者として実行されていることを確認してください。
- Instana エージェントがアプリケーションへのアクセス権限を持っていることを確認してください。
Instana のPCPが実行されていることを確認してください:
InstanaPCPWindows でタスクマネージャーを開き、. を検索します。
Log Collector を使用するか、 手動でログを収集して、 Instana のエージェントログを収集します。
Instana のエージェントログに、次の行が含まれている必要があります:
com.instana.agent-process-handling - <version> | | InstanaPCP.exe passed early window; marked RUNNING
エージェントのログで、センサーが正常に有効化されていることを確認してください:
com.instana.sensor-clr - <version> | | Activated Sensor- 「 Instana 」エージェントの起動後に、「.NET 」プロセスが起動していることを確認してください。
シナリオ 4: トレースを有効にした後、 InstanaPCP またはアプリケーションの CPU 使用率が高くなる
症状:InstanaPCP または.NET アプリケーションで、トレースを有効にした後、CPU使用率が異常に高くなる。
トラブルシューティングの手順
- タスクマネージャーを確認し、問題がアプリケーションに起因するものか、それとも InstanaPCP に起因するものかを特定してください。
問題が InstanaPCP: にある場合
- InstanaPCP のデバッグログを有効にする。 「ログの収集」 を参照してください。
- パフォーマンスカウンターが見つからないというメッセージや例外が発生しているかどうか、ログを確認してください。
問題がアプリケーションのメモリ使用量の急増である場合:
- Log Collector を使用するか、 手動でログを収集して、イベントログおよび.NET のログを収集します。
- イベントログおよび.NET のログを確認し、メモリ関連の例外がないか確認してください。
- この問題が Instana の計測機能に起因するものかどうかを確認してください。
- 詳細な分析のために、.NET のダンプファイルを取得してください。 Go タスクマネージャーを開き、そのプロセスを右クリックして、ダンプファイルを作成します。
ログの収集
Log Collector を使用したログの収集
Log Collectorは、 Instana からログを収集するためのスタンドアロンアプリケーションです。 以下の場所からログコレクターを起動できます:
ログコレクターは、以下のログを収集します:
- アプリケーションのトレースログ
- Instana PCPログ
- CLRデバッグログ
- イベント ビューアのログ
- Instana エージェントのデバッグログ
- Instana エージェントがログを追跡する
Instana のUIからログコレクターを実行する
- ナビゲーションメニューから を選択するか、 Instana のUIにある 「More」 メニューからエージェントを検索してください。
- 監視対象とする「.NET 」プロセスをクリックしてください。
「.NET 」プロセスのダッシュボードで、次の画像のように 「.NET のデバッグ環境を設定 」をクリックします
図 1. ログ収集機能 
この手順では、ホスト上でLog Collectorアプリケーションを起動し、.NET のログ収集に必要な環境変数を設定します。
- .NET アプリケーションを再起動してください(IISでホストされているアプリケーションの場合は`iisreset`を実行してください)。これにより、更新された環境変数が確実に読み込まれます。注:InstanaPCP のログを収集対象に含めるには、 Instana エージェントも再起動してください。
- 電話をかけたり、アプリケーションへのトラフィックを生成したりして、ログを作成してください。
「.NET のログをダウンロード 」をクリックしてください。
注:[.NET のログをダウンロード] ボタンは、デバッグ環境の設定が正常に完了した後にのみ表示されます。
ログコレクターは、アプリケーションのトレースログ(事前に設定済みの場合 [agent-dir]\etc\instana\com.instana.agent.main.sender.File.cfg )、 InstanaPCP ログ(エージェントが再起動された場合)、CLRデバッグログ、イベントビューアーのログ、および Instana エージェントのログなど、複数のソースからログを収集します。 収集されたログはファイル .zip に圧縮され、お使いのシステムにダウンロードされます。
コンソールからログコレクターを実行する
UIが正常に動作しない場合、コンソールからログコレクターを起動することができます:
Go Instana エージェントフォルダ内のログコレクタパスに:
C:\\instana-agent\data\repo\com\instana\dotnet-logcollector-win-x64\1.302.1\dotnet-logcollector-win-x64-1.302.1ログの収集準備を行うには、次のコマンドを実行してください:
logcollector.exe -m prepare -i "C:\Program Files\Instana\instana-agent"- アプリケーションを再起動し、アプリケーションを呼び出してください。
しばらくしてから、collect コマンドを実行してください:
logcollector.exe -m collect -i "C:\Program Files\Instana\instana-agent" -o "C:\output\log.zip"注: コマンドは必ず管理者として実行してください。
ログを手動で収集する
あるいは、IISでホストされているアプリケーションについては、手動でログを収集することもできます。 以下のステップを実行します。
デバッグ・ログを有効にします。
次のいずれかのオプションを使用して、環境変数を追加します:
パスが有効であり、プロセスまたはアプリケーションからアクセス可能で、かつ正しいものであることを確認してください。 {: note}
システムレベルで、以下の環境変数を手動で設定してください:
INSTANA_NET_LOG_PATH: "C:\dc_net_log" INSTANA_NET_LOG_LEVEL: DEBUG INSTANA_NET_CORE_LOG_LEVEL: DEBUG INSTANA_NET_PCP_LOG_LEVEL: DEBUG INSTANA_TRACER_ENTEREXIT_LOGGING: 1 INSTANA_EXTENDED_DEBUG: 1管理者としてコマンドプロンプトを開き、次のコマンドを実行して環境変数を追加します:
setx INSTANA_NET_LOG_PATH "C:\dc_net_log" /M setx INSTANA_NET_LOG_LEVEL "DEBUG" /M setx INSTANA_NET_CORE_LOG_LEVEL "DEBUG" /M setx INSTANA_NET_PCP_LOG_LEVEL "DEBUG" /M setx INSTANA_TRACER_ENTEREXIT_LOGGING "1" /M setx INSTANA_EXTENDED_DEBUG "1" /M
次の「 Windows 」レジストリキーを設定します:
CLRDebugLog: "C:\dc_clr_debug_log\clr_"変更を適用するには、以下を実行
iisresetしてください:iisresetアプリケーションを再起動します。
Instana エージェントのログを収集する:
エージェント
<instana_install_dir>/bin/stop.shを停止する。または、エージェントがサービスとして起動されている場合は、そのサービスを停止する。ログを削除する:以下のコマンドを実行して、ログディレクトリ内のすべてのファイルを削除し、状態をリセットします
rm -rf <instana_install_dir>/data/log/*ログレベルを「Debug」に設定する:エージェント
configuration.yamlファイルでログレベルの深刻度を変更します。 詳細については、 「エージェント設定ファイルの設定」 を参照してください。エージェント
<instana_install_dir>/bin/start.shを起動するか、サービスを起動してください。問題の再現手順:問題が発生する状態にし、エージェントを約15分間実行してください。
ログの収集:提出用にログディレクトリを圧縮するには、次のコマンドを実行してください:
cd <instana_install_dir>/data/logs zip -r instana_agent_debug_logs.zip *
Instana のトレースログを収集する:
com.instana.agent.main.sender.File.cfgGo …に[agent-dir]\etc\instanaアクセスして、ファイルを開きます。ファイルに次の行を追加してください:
prefix=instanaTraces type=tracesinstanaTracesこの設定では、すべてのトレースが記録されたログファイルが提供され、そのファイル名は「.」で[agent-dir]/data/log始まります。instana エージェントを再始動します。
変更を適用するには、以下を実行
iisresetしてください:iisresetアプリケーションを約15分間実行してください。
以下のパスからログを収集してください:
- 変数で指定されたパス
INSTANA_NET_LOG_PATH instana-agent-installation-folder/data/log
- 変数で指定されたパス
CLR デバッグログを収集する:
「 Windows 」のレジストリ エディタを開きます。
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Instana\ に移動する
C:\temp\clr_レジストリキー
CLRDebugLogを、値を持つ文字列として追加します。例:あるいは、管理者としてコマンドプロンプトを開き、次のコマンドを実行してください:
reg add "HKLM\SOFTWARE\Instana" /v CLRDebugLog /t REG_SZ /d "C:\temp\clr_" /f
Windows のイベントビューアーのログを収集する:
- イベント ビューアーを開く:
- Win キーと R キーを同時に押します。
eventvwr.mscと入力します。- Enterキー を押してください。
- Go エクスポートしたいログに対して:
- Windows ログ: Windows のログ > アプリケーション
- アプリケーションおよびサービスのログ
- 「アクション 」パネルで、 「すべてのイベントを別名で保存 」を選択します。
.evtx場所を選んで、.として保存してください。
- イベント ビューアーを開く:
サポート・チケットのオープン
これらのトラブルシューティング手順を実行しても問題が解決しない場合は、サポートチケットを開く前に、 MustGather のデータを収集してください。 MustGather このデータは、 IBM サポートが問題をより効率的に診断するのに役立ちます。
詳細については、 MustGather:、 Instana、.NET、Tracer - Windows をご覧ください。