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

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

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

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

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

要件

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

.NET エージェントは、.NET Core バージョン 2.0、2.1、2.2、3.0および 3.1 をサポートしています。

エージェントは、.NET Coreバージョン1.0または1.1との互換性はありません。エージェントは、階層型コンパイルが有効化された.NET Core 2.1以降のアプリケーションの階層型コンパイルを無効化します。NET Core 2.1のサポートには、.NET Coreランタイム2.1.3および.NET Core SDK 2.1.401以降を必要とします。これは、.NET CoreプロファイリングAPIにおけるバグによるものです。

.NET エージェントがサポートしているのは、.NET Core 2.0、2.1、2.2、3.0および 3.1 をターゲットとするアプリケーションのみです。ターゲットフレームワークは、.csprojファイルで見つけることができます:

サポート:

 <TargetFramework>netcoreapp2.0</TargetFramework>
<TargetFramework>netcoreapp2.1</TargetFramework>
<TargetFramework>netcoreapp2.2</TargetFramework>
<TargetFramework>netcoreapp3.0</TargetFramework>
<TargetFramework>netcoreapp3.1</TargetFramework>

非サポート:

<TargetFramework>net452</TargetFramework>

.NET FrameworkをターゲットにしているASP.NET Coreアプリケーションをモニターする場合は、.NETエージェントのインストールの.NET Frameworkサポートが有効化されていることを確認してください。

以下のアプリケーション/ウェブサーバーのいずれかを使用してください。

  • Kestrel
  • KestrelとIISリバースプロキシ(AspNetCoreModule経由)
  • KestrelとIISリバースプロキシ(AspNetCoreModuleV2経由)
  • KestrelとNginxリバースプロキシ
  • KestrelとApacheリバースプロキシ

このエージェントは、以下のオペレーティングシステムでの動作を確認済みです。

オペレーティングシステム サポート対象バージョン
Windows
  • Server 2008 R2 SP1
  • Server 2012
  • Server 2012 R2
  • Server 2016
  • Server 2019
  • Server 2016上で動作するWindowsコンテナ(NanoServerベースの画像には対応していません)
Linux (x64のみ)

.NET Core Runtimeがサポートするすべてのx64 Linuxの販売は、.NET Coreエージェントによってサポートされています。完全なリストについては、使用しているランタイムのバージョンに関するMicrosoftのドキュメントをご覧ください。

Microsoft Azure

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

エージェントは、32ビット(x86)と64ビットの両バージョンのWindowsの他、64ビットのLinuxでも利用できます。

.NETエージェントのインストールと実行には、以下の許可が必要です。

コンポーネント 必要なアクセス権限
エージェントのインストール

エージェントをインストールするプロセスまたはユーザーには、環境変数を設定し、エージェントがインストールされたディレクトリへの書き込みアクセスを設定するために、十分なアクセス権限が必要になります。

エージェントの実行

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

リバースプロキシ経由でIISを使用するアプリケーションには、グループIIS_IUSRSが主に使用されます。

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

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

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

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

.NET Coreエージェントは、以下のアプリケーションを自動的にインストゥルメントします。

  • ASP.NET Core MVC 2.0、2.1、2.2、3.0および 3.1 (Web API を含む)

.NETエージェントは、以下のデータストアへの .NETアプリケーション呼び出しのパフォーマンスを自動的にインストゥルメントします。

データストア インスタンスの詳細 メモ
Microsoft SQL (MSSQL) Server fa-check System.Data.SqlClientバージョン4.3.1またはMicrosoft.Data.SqlClientを使用します。
PostgresSQL fa-check

Use Npgsql 4.0を使用。

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

MongoDB fa-check

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

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

MySQL fa-check MySql.Dataバージョン6.10.4を使用。
StackExchange.Redis fa-check

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

サポート対象のデータストアに対するインスタンス詳細の収集は、デフォルトで有効になっています。現在リストされてないデータストアからインスタンスレベルの情報をリクエストするには、support.newrelic.comでサポートを受けてください。

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

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

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

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

利用できない機能

.NETエージェントでは、以下の機能は使用できません。

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

New Relic APMに加え、.NETエージェントは他のNew Relic製品と統合し、エンドツーエンドの可視性を提供します。

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

ASP.NET Coreアプリケーションの場合、New Relic Browser JavaScriptエージェントは.NETエージェントによって挿入されません。ただし、Browserエージェントは、.NETエージェントAPIまたはBrowserエージェントのコピー/ペーストメソッドを使用して挿入することができます。

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

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

その他のヘルプ

推奨する詳細情報: