.NETエージェント:.NET Frameworkの互換性および要件

New Relicの.NETエージェントは、.NET Frameworkと.NET Coreの両方をサポートしています。この文書は.NET Frameworkアプリケーションの互換性とサポートを説明しています。.NET Coreアプリケーションについては、.NET Coreの互換性および要件を参照してください。

New Relicの.NET エージェントには、フレームワーク、データベース、メッセージキューシステムなど、.NET Frameworkエコシステムで最も人気ある一部のビルトイン・インストゥルメンテーションが含まれています。

インストレーション後、エージェントは監視下のプロセス内で実行され、エージェントが作成する別のプロセスやサービスはありません。

追加設定なしで自動的にインストゥルメントされていないフレームワークとライブラリについては、.NETカスタム・インストゥルメンテーションでエージェントを拡張できます。

要件

New Relicの.NETエージェントをインストールする前に、システムが以下の要件を満たしていることを確認します。

.NET Framework 4.5またはそれ以降

.NET Framework 4.5またはそれ以降のバージョンには、New Relic .NETエージェントのバージョン7.0またはそれ以降が必要です。

.NET Framework 4.0またはそれ以前

.NET Frameworkバージョン4.0またはそれ以前で実行されているアプリケーションをインストゥルメントするには、New Relic .NETエージェントのバージョン7.0以前を実行する必要があります。詳細な情報とダウンロード手順については、.NET frameworks 4.0以前向けの技術サポートをご覧ください。

以下に、.NET Frameworkバージョン4.0またはそれ以前に関するその他の詳細を示します。

.NET Frameworkのバージョン メモ
.NET Framework 2.0 .NET Framework 4.0以降のみをインストールした場合を除き、既にインストール済みの.NET Frameworkのバージョンがあれば、そのバージョンに加えて、ターゲットホストに.NET Frameworkのバージョン3.5もインストールする必要があります
.NET Framework 3.0 .NET Framework 4.0以降のみをインストールした場合を除き、既にインストール済みの.NET Frameworkのバージョンがあれば、そのバージョンに加えて、ターゲットホストに.NET Frameworkのバージョン3.5もインストールする必要があります
.NET Framework 3.5 .NETエージェントのバージョン7.0以前によって完全にサポートされます。
.NET Framework 4.0 .NETエージェントのバージョン7.0以前によって完全にサポートされます。

ターゲットシステムのアプリケーションに.NET Framework 1.1を使用する場合は、applicationPoolinstrument="false"に設定して、そのアプリケーションのインストゥルメンテーションを無効にする必要があります。.NETエージェントは、.NET 1.1のアプリケーションでクラッシュする可能性があります。

以下のいずれか1つのアプリケーション/ウェブサーバーを使用する必要があります。

  • IIS
  • セルフホストのOWIN
  • セルフホストのWCF
  • Kestrel
  • KestrelとIISリバースプロキシ(AspNetCoreModule経由)
  • KestrelとIISリバースプロキシ(AspNetCoreModuleV2経由)

エージェントは、IISにホスティングされているアプリケーションに対してトランザクションを自動的に作成します。WCFとOWINのバージョン3以降でセルフホストする場合も、エージェントはトランザクションを自動的に作成します。他のセルフホストサービスについては、カスタムインストゥルメンテーションを介してトランザクションを作成する必要があります。

エージェントには、CLRバージョン4.0が必要になります。CLR 2.0で実行しているレガシーアプリケーションは、7.0以前のバージョンのエージェントでインストゥルメントできます。

エージェントには、以下のオペレーティングシステムのいずれか1つが必要です。

  • Windows Server 2008
  • Windows Server 2008 R2
  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2016
  • Windows Server 2019
  • Windows 10
  • Windows Azure (OS Family 1、2、3)
  • Windows 2016上で動作するWindowsコンテナ(NanoServerベースの画像には対応していません)
その他のモニターソフトウェアの使用

.NET共通言語ランタイム(CLR)のみが、1つのプロファイラーが任意の時点でプロセスのプロファイリングAPIにアクセスできます。当社の.NETエージェントを他のモニターソフトウェアと一緒に実行すると、プロファイラー競合が発生します。詳しくは、その他のAPMソフトウェアを使用中のエラーを参照してください。

Microsoft Azure

Azure特有のインストレーション方法については、以下をご覧ください。

エージェントには、32ビットと64ビットの両バージョンがあります。64ビットのシステムでは、64ビットエージェントで32ビットと64ビットの両方のアプリケーションをインストゥルメントできます。

インストレーションには、昇格された権限(管理者)が必要です。たとえば、次のことが可能です。

  • 管理者ユーザーとしてログインします。
  • 管理者グループのメンバーになります。
  • 新しいオペレーティングシステムでプロンプトが表示されたら、昇格した資格情報を入力します。

監視対象のプロセスには、エージェントをインストールするディレクトリへの読み取り/書き込みのアクセス権が必要です。エージェントは監視対象プロセスの一部として実行され、正常に機能するために、これらのアクセス権に依存します。

推奨事項:

  • newrelic.configファイルに対するアクセス許可を制限し、監視対象プロセスの所有者にのみ読み取り/書き込みアクセス許可を付与します。
  • アクセス権と特権を保有するユーザー数を最小限に抑えるため、エージェントによって作成されるログのアクセス権限を見直します。

標準的な データ収集のセキュリティ対策として、アプリケーションサーバーはSHA-2(256ビット)をサポートしている必要があります。SHA-1はサポートされていません。

ネットワーク要件

このエージェントでは、お使いのファイアウォールが特定のネットワークとポートへの発信接続を許可する必要があります。

アプリケーションの寿命

.NETエージェントは、各収集サイクルの終わりにデータをアップロードします(1分間に1回)。.NETアプリケーションがそれほど長く実行されない場合は、newrelic.configファイルで、そのサービス要素sendDataOnExit属性をtrueに設定することができます。

自動インストゥルメンテーション

アプリケーションがASP.NETまたは別の完全対応フレームワークでホスティングされている場合、.NETエージェントはインストール後に、アプリケーションに自動的にインストゥルメントされます。ご利用のアプリケーションが自動的にインストゥルメントされないか、インストゥルメンテーションの追加を希望する場合は、カスタムインストゥルメンテーションを利用します。

.NETエージェントは、データストアプロセスを直接モニターしません。また、デフォルトでは、クエリのトレースでキャプチャされた.NET SQLパラメーターには、パラメーター化したクエリやストアドプロシージャのパラメーターはリストされません。SQLクエリパラメーターの収集は、エージェントの設定で有効になります。

エージェントは、一部のアプリケーションフレームワークを自動的にインストゥルメントします。当社では、このようなフレームワークのことを完全にサポートされていると言います。

互換性ステータス .NETアプリケーションフレームワーク
完全サポート:

以下のフレームワークは、完全にサポートされていません。

  • ASP.NET MVC 2
  • ASP.NET MVC 3
  • ASP.NET MVC 4
  • ASP.NET MVC 5
  • ASP.NET Web API v2
  • ASP.NET Core MVC 2.0
  • ASP.NET Core 2.1
  • ASP.NET Core 2.2
  • ASP.NET Web Forms
  • Castle MonoRail v2(Monoと同じではない)
  • 以下を使用した、.NETフレームワーク上のOWINホスト型Web APIアプリケーション:
    • Microsoft.Owin.Host.HttpListener v2.x
    • Microsoft.Owin.Host.HttpListener v3.x
    • Microsoft.Owin.Host.HttpListener v4.x
  • SOAPベースのWebサービス
  • WCF
    • ホスティングモジュール
      • ホストされたIIS(ASP互換性あり/なし)
      • セルフホスト
    • バインディングタイプ(クライアントとサービスの両方)
      • HTTPベースのバインディングタイプ
        これらのバインディングはインストゥルメントされており、ディストリビューティッド(分散)トレーシング(DT)とクロスアプリケーショントレーシング(CAT)を自動的にサポートしています。
        • 共通バインディングには以下が含まれます。
          • 基本HTTP
          • WSHTTP
          • WebHTTP
      • 非HTTPベースのバインディングタイプ
        これらのバインディングはインストゥルメントされていますが、ディストリビューティッド(分散)トレーシング(DT)とクロスアプリケーショントレーシング(CAT)を自動的にサポートしていません
    • 起動メソッド (クライアントとサービスの両方)
      • 同期
      • 非同期処理モデル(APM)の開始/終了
      • タスク非同期処理(TAP)
      • イベントベースの非同期処理(EAP)
        • クライアントサポートのみ。
フルサポートではない

以下のフレームワークは、完全にサポートされていません。

  • ASP.NET Web API v1: .NET Framework 4.0をターゲットとするアプリケーション用に、New Relicの.NETエージェント5.0以上で ASP.NET Web API v1を使用する方法については、トラブルシューティング情報を参照してください。(これは.NET Framework 4.5以降には影響しません。)
  • Mono: New Relicは、Linuxで稼働するオープンソースの.NETフレームワークであるMonoをサポートしません。その理由は、Monoベースの .NETアプリケーションへのプロファイラーとして、.NETエージェントにインジェクションするプロファイラーAPIがないためです。Profiler APIは、Component Object Model(COM)ベースのインタフェースであり、Linuxではサポートされていません。
サポートされない

エージェントは.NET Frameworkベースのアプリケーションしかインストゥルメントできないため、Classic ASPはサポートされません

Sharepoint には対応していません

サポート対象のデータストアに対してインスタンス詳細を収集するには、.NETエージェントのバージョン6.5.29.0以上が必要であり、デフォルトで有効化されています。現在リストされてないデータストアからインスタンスレベルの情報をリクエストするには、support.newrelic.comでサポートを受けてください。

こうしたデータストアに対する.NET Frameworkアプリケーション呼び出しのパフォーマンスを自動インストゥルメンテーションするには、必ず .NETエージェントのバージョン8.14以降があることを確認してください:

データストア インスタンスの詳細 備考
Couchbase

SDKバージョン2.0以降。

Couchbaseの場合、以下の項目はデフォルトでインストゥルメントされません。その理由は、これらに相当するマルチドキュメントが優先されるためです。

  • Get(string key)
  • GetDocument(string key)
  • Remove(string key)
  • Remove(string key, ulong cas)
  • Upsert<T>(string key, T value)
IBM DB2 fa-check
Microsoft SQL Server fa-check
MongoDB fa-check

ドライババージョン2.3.x、2.4.x、2.5.x、または2.6.x

ドライババージョン1.10.0以前:インスタンスの詳細は、これらのドライババージョンで取得できません。

ドライババージョン2.7.x:.NETエージェントは、既存のAPIメソッドに対応していますが、2.7.xで導入された新しいメソッドには対応していません。

MySQL fa-check
Oracle fa-check
PostgreSQL fa-check

Use Npgsql 4.0を使用。

Npgsqlの旧バージョンもインストゥルメント可能なものの、重複またはメトリックスの不足が発生する可能性あり。

ServiceStack.Redis fa-check
StackExchange.Redis fa-check

エージェントは、以下に示すメッセージシステムを自動的にインストゥルメントします。

  • MSMQ:メッセージの配置と採用
  • NServiceBus 5.0(6.0以降はサポートされない):メッセージの配置、採用、およびクロスアプリケーションのトレース
  • RabbitMQ 3.5以降:メッセージの配置、採用、およびキューの削除IBasicConsumerを使ってメッセージを受信するときは、EventingBasicConsumerが.NETエージェントによってインストゥルメントされる唯一の実装になります。

エージェントは、EPiServerコンテンツマネジメントシステムを自動的にインストゥルメントします。

エージェントは、以下の外部呼び出しライブラリを自動的にインストゥルメントします。

ライブラリ サポート対象のメソッド
HttpClient

エージェントは、次のHttpClientメソッドをインストゥルメントします。

  • SendAsync
  • GetAsync
  • PostAsync
  • PutAsync
  • DeleteAsync
  • GetStringAsync
  • GetStreamAsync
  • GetByteArrayAsync
RestSharp

エージェントは、以下のRestSharpメソッドをインストゥルメントします。

  • ExecuteTaskAsync
  • ExecuteGetTaskAsync
  • ExecutePostTaskAsync
  • Execute
  • ExecuteAsGet
  • ExecuteAsPost
  • DownloadData
HttpWebRequest

エージェントは、以下のHttpWebRequestメソッドをインストゥルメントします。

  • GetResponse

エージェントを他のNew Relic製品に接続する

New Relic APMに加え、エージェントはエンドツーエンドの可視性を提供するため、他のNew Relic製品とも統合されます。

製品 インテグレーション
New Relic Browser

ASP.NETアプリケーションの場合、自動インストゥルメンテーションを有効化すると、.NETエージェントは自動的にBrowser JavaScriptエージェントをインジェクションします。Browserインジェクションを有効化したあと、APM OverviewページでBrowserデータを見ることや、特定のアプリケーションに対してAPMとBrowserデータを素早く切り替えることが可能です。設定オプションと手動のインストゥルメンテーションについては、New Relic Browserと.NETエージェントをご覧ください。

自動Browserインジェクションは、ASP.NET Coreアプリケーションにはサポートされていません。

New Relic Infrastructure InfrastructureとAPMエージェントを同じホストにインストールすると、それぞれが自動的にお互いを検出します。その後APM UIでホストのリストを見て、Infrastructure UIでAPMアプリを基準にInfrastructureホストをフィルタリングできます。詳しくは、InfrastructureにおけるNew Relic APMデータをご覧ください。
New Relic Insights .NETエージェントは、NQRLクエリを実行するため、デフォルトのイベントと属性をInsightsに送ります。高度な分析のためにカスタムイベントを記録することも可能です。
New Relic Synthetics SyntheticトランザクショントレースはSyntheticsモニターからのリクエストを基になるAPMトランザクションに結びつけます。

その他のヘルプ

推奨する詳細情報: