Azure における「.NET 」トレースのトラブルシューティング

Azure のリソースでトレースが期待通りに機能しない場合は、具体的なケースに応じた対処法に進む前に、まず一般的なトラブルシューティングの手順から始めてください。

一般的なトラブルシューティング

以下のステップを実行します。

  1. 前提条件を確認してください:

    • .NET のバージョン互換性を確認してください:

      • .NET Framework 実行環境: 4.5.2 以降
      • .NET 実行環境: 5.0 以降
    • Instana エージェントが実行されており、 Azure リソースを監視していることを確認してください:

      • Instana のUIでエージェントの状態を確認してください。
      • ご自身のサブスクリプション内の「 Azure 」リソースを、少なくとも1つの Instana エージェントが監視していることを確認してください。
  2. 環境変数の確認:トレースが機能しない場合は、必要な環境変数がすべて設定されているか確認してください:

    • 正しく設定してください。
    • 正しく綴られています。
    • アプリケーションがデプロイされる環境に合わせて適切に設定してください( Windows または Linux App Service )。
    • 有効であり、プロセスまたはアプリケーションからアクセス可能で、かつ正しい。
    注: 環境変数を追加または更新する際、 Instana エージェントを再起動する必要はありません。
  3. Azure のサービスプリンシパル設定を確認します:

    • サービスプリンシパルが作成され、必要な読み取りアクセス権が設定されていることを確認してください。
    • サービスプリンシパルが、お使いの Azure サブスクリプションに対して適切なアクセス権限を持っていることを確認してください。
  4. Azure センサーの設定を確認してください:

    1. エージェント configuration.yaml ファイルで、 Azure の監視が有効になっていることを確認してください:

      com.instana.plugin.azure:
        enabled: true
        subscription: "Your-Subscription-Id"
        tenant: "Your-Tenant-Id"
        principals:
          - id: "Your-Service-Principal-Account-Id"
            secret: "Your-Service-Principal-Secret"
    2. 新しい設定を適用するには、ホストエージェントを再起動してください。 再起動後、エージェントはサポートされている Azure リソースを自動的に検出します。
    注:Azure センサーの設定を追加するなど、設定を変更した場合は、 Instana エージェントを再起動する必要があります。 適切な計測機能の動作を確保するため、 Instana エージェントが実行された後に、 Azure アプリケーションを起動または再起動してください。

ケースごとのトラブルシューティング

一般的なトラブルシューティングで問題が解決しない場合は、以下のトラブルシューティング手順をご確認ください:

シナリオ 1: 「 Azure 」のサービスまたはリソースが「 Instana 」の UI に表示されない

症状: リソースの作成、アプリケーションのデプロイ、および「 Instana 」の「 App Service 」トレース拡張機能のインストールと構成が正常に完了したにもかかわらず、 Instana のUIに Azure のサービスやリソースが表示されません。

トラブルシューティングの手順

  1. サービスプリンシパルの設定を確認する:サービスプリンシパルが作成されており、必要な読み取りアクセス権が設定されていることを確認してください。

    サービスプリンシパルの作成やその他の設定およびフィルタリングオプションに関する詳細については、 『 Azure 』の監視に関するドキュメントを参照してください。

  2. ご自身のサブスクリプション内の Azure リソースを、少なくとも1つの Instana エージェントが監視していることを確認してください。
  3. エージェント configuration.yaml ファイル(*instanaAgentDir*/etc/instana/configuration.yaml)で、 Azure センサーが有効になっていることを確認してください:

    com.instana.plugin.azure:
      enabled: true
      subscription: "Your-Subscription-Id"
      tenant: "Your-Tenant-Id"
      principals:
        - id: "Your-Service-Principal-Account-Id"
          secret: "Your-Service-Principal-Secret"
  4. 新しい設定を適用するには、ホストエージェントを再起動してください。

シナリオ 2: Instana のUIにトレースが表示されない

症状:Instana のUIに、インストールおよび設定完了後も、 Azure のリソースやサービスに関する記録が表示されません。

トラブルシューティングの手順

  1. Instana 」の「Tracing App Service 」拡張機能において、以下の設定を確認してください:

    • トレースが使用可能です。
    • アプリケーションのビット数(32ビットまたは64ビット)を確認してください。
    • エージェントキーは正しいです。
    • エンドポイント URL は正しいです。
  2. サーバーレスエンドポイント URL を確認してください:

    • Instana SaaS: Instana テナントの正しいサーバーレスエンドポイントを使用してください:

      • フォーマット: https://serverless-<region>.instana.io
      • 例: https://serverless-blue-saas.instana.io
    • セルフホスト型 Instana :

      • フォーマット: https://<instana-backend-ip>/serverless
      • 環境変数を INSTANA_DISABLE_CA_CHECKtrue 設定するか、 1
  3. Windows App Service チェック:

    1. プロファイラがプロセスに接続されていることを確認してください:

      • Azure ポータルで、[ App Service ] > [Advanced Tools ] > [ Go ] の順に選択します。
      • Kuduを開き、「 Process Explorer」 に移動します。
      • 「プロセス」を探して w3wp.exe 、「 プロパティ 」をクリックします。
      • Instana.Profiler_x86.dll読み込まれたモジュールに Instana.Profiler_x64.dll または が含まれていないか確認してください。
    2. イベント ビューアのログを確認してください:

      • リソース内の「問題の診断と解決」セクションにある診断ツールから、アプリケーション イベント ログにエラーがないか確認してください。
  4. Linux App Service チェック:

    1. 必要な環境変数が存在し、パスが有効で、プロセスまたはアプリケーションからアクセス可能であり、かつ正しいことを確認してください:

      CORECLR_ENABLE_PROFILING=1
      CORECLR_PROFILER={cf0d821e-299b-5307-a3d8-b283c03916dd}
      CORECLR_PROFILER_PATH=/home/site/wwwroot/instana_tracing/CoreProfiler.so
      DOTNET_STARTUP_HOOKS=/home/site/wwwroot/Instana.Tracing.Core.dll
      INSTANA_AGENT_KEY=<your-agent-key>
      INSTANA_ENDPOINT_URL=<your-endpoint-url>
    2. Instana ( NuGet )パッケージがデプロイされているか、および フォルダや などの CoreProfiler.so ファイルが存在するか instana_tracing を確認してください:

      ls -la /home/site/wwwroot/instana_tracing/
      ls -la /home/site/wwwroot/Instana.Tracing.Core.dll
  5. .NET および .NET Framework のアプリケーション実行時バージョンがサポートされていることを確認してください:

    • .NET Framework 実行環境: 4.5.2 以降
    • .NET 実行環境: 5.0 以降

シナリオ3:ビット数の不一致による問題

症状:Instana のトレース機能「 App Service 」拡張機能をインストールして設定しましたが、アプリケーションは正常に動作しています。 しかし、イベントビューアのログにはプロファイラの接続失敗が記録されており、 Instana にはトレースが表示されません。

原因: この問題は通常、 App Service のプラットフォーム設定(32ビットまたは64ビット)と、「 Instana 」の「Tracing App Service 」拡張機能で設定されたビット数との不一致によって発生します。

Instana プロファイラは、両方の設定で同じビット数が使用されている場合にのみ、正常にアタッチできます。

トラブルシューティングの手順

  1. ビット数の設定を確認してください: App Service のプラットフォーム設定と、拡張機能で有効になっているビット数を比較してください。

    • App Service プラットフォームの設定を確認してください:

      1. Azure ポータルで、[ App Service ] > [Configuration] > [General Settings ] の順に選択します。
      2. プラットフォームの設定(32ビットまたは64ビット)を確認してください。
    • Instana 拡張機能の設定を確認してください:

      1. Azure ポータルで、[ App Service ] > [Extensions ] > [ Instana ] > [Tracing] > [ App Service ] の順に移動します。
      2. 「64ビットを有効にする」 チェックボックスにチェックを入れます。
  2. ビット数のシナリオを確認する:

    App Service 設定 拡張機能の設定 結果
    32 ビット 64ビットを有効にする:OFF works
    64 ビット 64ビットを有効にする:オン works
    32 ビット 64ビットを有効にする:オン 失敗
    64 ビット 64ビットを有効にする:OFF 失敗
    注: Visual Studio を使用してアプリケーションをデプロイした場合、デフォルトではアプリケーションは 32 ビットに設定されます。
  3. 設定に相違がある場合は、状況に応じてビット数を修正してください。 両方が同じビット数を使用するように設定されていることを確認してください。
  4. サービスを再始動します。
  5. Kudu ツールを使用して、正しいプロファイラが接続されていることを確認してください:

    1. Azure ポータルで、[ App Service ] > [Advanced Tools ] > [ Go ] の順に選択します。
    2. Kuduを開き、 「Process Explorer」 に移動します。
    3. w3wp.exe[検索] をクリックし、 [プロパティ] をクリックします。
    4. 正しいプロファイラが読み込まれていることを確認してください:

      • 32ビット: Instana.Profiler_x86.dll
      • 64ビット: Instana.Profiler_x64.dll

シナリオ 4: 「 Azure 」と Application Insights の競合

症状: アプリケーションが Azure App Service 上で実行されており、 Instana トレース拡張機能が有効になっているにもかかわらず、以下の問題のいずれかが発生しています:

  • 計測機器間の競合
  • アプリケーションがクラッシュしたり、予期せず再起動したりすることがある
  • パフォーマンスの低下

原因:Instana では、 Instana と Azure のApplication Insightsを併用するシナリオには対応していません。

トラブルシューティングの手順

  1. App Service で Application Insights を無効にする:

    1. Azure ポータルで、 [ App Service の概要] > [プロパティ] に移動します。
    2. 「Application Insights」 をクリックします。
    3. 「無効にする」 を選択します。
    4. 「はい」 をクリックして確定してください。
  2. Application Insights エクステンションを削除する:

    1. Azure ポータルで、[ App Service ] > [Extensions ] に移動します。
    2. 「」などの ApplicationInsightsAgent 拡張機能や、その他の Application Insights 関連の拡張機能がないか確認してください。
    3. 存在する場合は無効にする。
  3. Application Insights の環境変数を削除する:

    1. Go App Service > 設定 へ。
    2. 設定を確認してください。
    3. App Service 内に存在する App Insights 変数がないか確認してください。例:

      • APPINSIGHTS_INSTRUMENTATIONKEY
      • APPLICATIONINSIGHTS_CONNECTION_STRING
      • ApplicationInsightsAgent_EXTENSION_VERSION
    4. Instana に関連する環境変数を除き、すべてを削除します。 Instana に関連する環境変数のみが設定された状態であることを確認してください。
  4. App Service を再起動し、アプリケーションが正常に動作するか確認してください。

ログの収集

Azure App Services 自動ログ収集には対応していません。 したがって、ログは手動で収集する必要があります。

ログを手動で収集する

以下のステップを実行します。

  1. デバッグログを有効にする:ログ記録を有効にするには、以下の環境変数を追加してください。 パスが有効であり、プロセスまたはアプリケーションからアクセス可能で、かつ正しいことを確認してください:

    INSTANA_LOG_SPANS=1
    INSTANA_DEBUG_TRACER=1
    INSTANA_CLRLOG_PATH=C:\home\site\wwwroot\clr_
  2. アプリケーションを再起動し、トレースを生成するために呼び出しを実行してください。
  3. 以下のログを収集し、調査してください:

    • CLRデバッグログ
    • Instana トレースログとスパンログ
    • イベントビューアのログ( Windows のみ)
  4. Windows App Service の場合:Azure ポータルからイベント ビューアーのログを収集します:

    1. Azure ポータルで、 App Service にアクセスしてください。
    2. 「診断とトラブルシューティング」 を選択します。
    3. 「診断ツール」 を開きます。
    4. イベントログを確認してください。

サポート・チケットのオープン

これらのトラブルシューティング手順を実行しても問題が解決しない場合は、サポートチケットを送信する前に、 MustGather のデータを収集してください。 MustGather このデータは、 IBM サポートがお客様の問題をより効率的に診断するのに役立ちます。

詳細については、 MustGather:、 Instana、.NET、および Azure のTracerをご覧ください。