• English日本語한국어
  • ログイン今すぐ開始

この機械翻訳は参考用に提供されます。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、こちらのページをご覧ください。

問題を作成する

Azure Web Apps での .NET エージェントのデバッグ

問題

New Relic の Azure 用 .NET エージェントをインストールした後、次の 1 つ以上の問題が発生します。

  • データは表示されません。
  • アプリケーション名は New Relic に表示されますが、データが欠落しています。

解決

確認して理解する重要事項:

  • インストールと実行の手順に従っていることを確認してください。
  • .NET エージェントが正常に動作するために、Application Insightsを無効にする必要があります
  • .NET エージェント バージョン 8.22.181.0 以降、エージェントに干渉することなく、Azure の Always On 設定を有効にすることができます。アプリケーションが .NET Framework 4.0 以下をターゲットにしている場合、 Always On はエージェントに干渉しますが、 ここでの 回避策は引き続き適用できます。

ステップ1:アプリケーションのエージェントログの確認

重要

Kudu を使用してエージェント ログを確認できます。エージェント ログは Web サイトと並行して実行され、プロセスの調査、ファイル システムの確認、ファイルとディレクトリのダウンロードに使用できるさまざまなツールを提供します。

Web サイトの URL が example.azurewebsites.netの場合、Kudu サイトは example.scm.azurewebsites.netです。サイトのデプロイ資格情報を使用して、Kudu サイトにログインします。

ログを確認する際の重要なヒント:

  • New Relic Azure Site Extension を使用する場合、Azure Web アプリが D: ファイル システム ルートを使用すると仮定すると、ログの場所はデフォルトで D:\home\LogFiles\NewRelicになります。Azure Web で C: ルートを使用している場合は、正しいドライブ文字を使用する必要があります。
  • NewRelic.Agent または NewRelic.Azure.WebSites NuGet パッケージを使用してエージェントをインストールした場合、プロジェクト内でエージェントが抽出されたディレクトリに logs フォルダがあります。多くの場合、これは wwwroot フォルダー内の newrelic フォルダーです。

エージェント ログを確認するには:

  1. 現在のデータを見ていることを確認してください。生成するログがシステムの現在の状態を確実に反映するように、logs ディレクトリ内の既存のファイルを削除または移動します。
  2. アプリケーションを再起動します。
  3. New Relic アカウントで期待されるトラフィックを生成する方法で、アプリケーションを少なくとも数分間実行します。
  4. アプリケーションが実行されているプロセス ID (PID) をメモしておくと、そのプロセスのログが作成されているかどうかを確認できます。Kudu の組み込みの Process Explorerを使用して、PID を見つけることができます。
  5. エージェント ログ ディレクトリに戻り、 NewRelic.Profiler.[PID].logなど、アプリケーションのプロセス ID を含む名前のログ ファイルを探します。
  6. プロファイラーのログ ファイルがログ ディレクトリにある場合は、対応するエージェント ログがあるかどうかも確認してください。エージェント ログにはプレフィックス newrelic_agentが含まれています。ホストで複数の .NET アプリケーションを実行している場合は、これらのアプリケーションが複数存在する可能性があります。1 つ以上表示された場合は、監視しようとしているアプリケーションに対応するものを特定する必要があります。
  7. エージェント ログで文字列(pid [your PID])を検索します (例: (pid 1573) 。ログ ファイルにその文字列が見つかった場合は、それがアプリケーションに関連付けられたエージェント ログであることがわかります。
  8. エージェントが New Relic にデータを送信できない原因となる可能性のあるネットワークまたはその他のエラーを探します。

手順 2: .NET エージェント プロファイラーがアプリケーションのプロセスに読み込まれているかどうかを確認する

プロファイラーがロードされているかどうかを確認するには:

  1. Kudu のビルトイン Process Explorer for Windows インストールを使用します。Linux インストールの場合は、 この記事のコマンドを参照してください。
  2. Process Explorerで、監視しようとしているプロセスを見つけ、PID 列の番号を書き留めます。Web アプリケーションを監視しようとしている場合、プロセス名は、Kudu プロセス自体を指す SCM ラベルのない w3wp.exe になる可能性があります。エージェントは、SCM (Kudu) プロセスをインストルメント化しないでください。
  3. アプリケーションのプロセスを見つけたら、 Properties ボタンをクリックします。
  4. Modules[モジュール] タブをクリックし、 NewRelic.Profiler.dll を探します。この DLL は、エージェントがアプリケーションを監視するために必要です。 見つからない場合は、正しい環境変数が存在すること (詳細については 手順 3を参照) を確認し、 Microsoft Application Insights が無効になっていることを確認してください。

NewRelic.Profiler.dllが表示されない場合は、次の手順に進みます。この DLL が表示され、アプリがトラフィックを受信している場合は、 手順 1で説明したログが表示されているはずです。

ステップ 3: 必要な環境変数を確認する

必要な環境変数を確認するには:

  1. Process Explorerで、アプリケーションのプロセスを見つけて、 Properties ボタンをクリックします。
  2. Environment[環境] タブを選択します。

正しい変数が設定されていて、監視しようとしているアプリケーションがそれらにアクセスできる場合、インストールしたエージェントが .NET Framework か .NET Core かに応じて、特定の環境変数のセットが表示されます。

重要

これらの例はすべて、AzureWebアプリがD:ファイルシステムルートを使用していることを前提としています。 Azure WebでC:ルートを使用する場合は、これらのパスを構成するときに正しいドライブ文字を使用する必要があります。

これらの環境変数とその機能の詳細については、 .NET エージェントの環境変数を理解する方法を参照してください。

アプリケーション名が New Relic に表示されているのに、トランザクションが表示されていない場合は、トラフィックがアプリにヒットしていないか、エージェントが自動的に計測できる既知のフレームワークに遭遇していない可能性があります。

  • .NET Framework によって自動的にインストルメント化されたフレームワークについては、 互換性に関するページを参照してください。
  • .NET Core が自動的にインストルメント化するフレームワークについては、 互換性に関するページを参照してください。
  • アプリケーションでこれらの互換性のあるアプリ フレームワークのいずれも使用しない場合は、アプリケーションのどの部分が監視に重要で、何がトランザクションのスコープを構成するかをエージェントに伝えるために 、カスタム インストルメンテーション を実装する必要がある場合があります。

上記の手順で問題を解決できなかった場合は、サポートに連絡するか、 サポート フォーラムで質問することをお勧めします。

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.