• EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

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

問題を作成する

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

問題

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

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

解決

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

ステップ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) をメモしておくと、そのプロセスに対してログが作成されているかどうかを確認できます。 PID は、Kudu の組み込み

    Process Explorer

    を使用して見つけることができます。

  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 アプリケーションを監視しようとしている場合、プロセス名は SCM ラベルのないw3wp.exeになる可能性があり、これは Kudu プロセス自体を参照します。 エージェントは SCM (Kudu) プロセスを監視すべきではありません。

  3. アプリケーションのプロセスを見つけたら、 Properties ボタンをクリックします。

  4. Modules

    タブをクリックし、 NewRelic.Profiler.dllを探します。この DLL は、エージェントがアプリケーションを監視するために必要です。 見つからない場合は、正しい環境変数が存在すること (手順 3で詳しく説明します) と、 Microsoft アプリケーション インサイトが無効になっていることを確認してください。

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株式会社。

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