New Relicの.NETエージェントは、.NET Frameworkと.NET Coreの両方をサポートしています。本文書では、.NET Coreアプリケーションの互換性とサポートを説明します。.NET Frameworkアプリケーションについては、.NET Frameworkの互換性および要件を参照してください。
New Relicの.NETエージェントには、フレームワーク、データベース、メッセージキューシステムなど、.NET Coreエコシステムで最も人気ある一部のビルトイン・インストゥルメンテーションが含まれています。
インストレーション後、エージェントは監視下のプロセス内で実行され、エージェントが作成する別のプロセスやサービスはありません。
追加設定なしで自動的にインストゥルメントされていないフレームワークとライブラリについては、.NETカスタムインストゥルメンテーションでエージェントを拡張できます。
.NETエージェントをお試しになりますか?New Relicアカウントの作成は無料です。クレジットカードは不要です。
要件
Windowsまたは Linuxに、New Relic .NETエージェントをインストールする前に、システムが以下の要件を満たしていることを確認してください。
有効期限(EOL)の通知
Microsoftは、以下の製品のサポート終了を正式に発表しました。
.NET エージェントは、.NET Core バージョン 2.0、2.1、2.2、3.0、3.1、および.NET 5.0、6.0、7.0をサポートしています。
.NETCoreバージョンごとに最低限必要なエージェントバージョンの表
.NET Coreバージョン | 最低限必要な.NETエージェントバージョン |
---|
.NET Core 2.0 | 8.19.353.0~9.9.0まで |
.NET Core 2.1 | 8.19.353.0~9.9.0まで |
.NET Core 2.2 | 8.19.353.0~9.9.0まで |
.NET Core 3.0 | 8.21.34.0〜9.9.0まで |
.NET Core 3.1 | 8.21.34.0以降 |
.NET 5.0 | 8.35.0以降 |
.NET 6.0 | 9.2.0以降 |
.NET 7.0 | 10.0.0以降 |
重要
Linux ARM64プラットフォームでは、.NETエージェントは.NET 5.0以降のバージョンのみをサポートします。
エージェントは、.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および.NET 5.0、6.0、7.0をターゲットとするアプリケーションのみです。ターゲットフレームワークは、.csproj
ファイルにあります。エージェントの互換性は、.NET Coreのバージョンによって異なります。アプリケーションの対象バージョンの.NET Coreに使用するエージェントバージョンについては、本書の上記のセクション「Microsoft .NET Coreバージョン」を参照してください。
サポート:
<TargetFramework>netcoreapp2.0</TargetFramework>
<TargetFramework>netcoreapp2.1</TargetFramework>
<TargetFramework>netcoreapp2.2</TargetFramework>
<TargetFramework>netcoreapp3.0</TargetFramework>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net5.0</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net7.0</TargetFramework>
重要
Linux ARM64プラットフォームでは、.NETエージェントはnet5.0
以降のターゲットフレームワークのみをサポートします。
非サポート:
<TargetFramework>net452</TargetFramework>
重要
.NET FrameworkをターゲットにしているASP.NET Coreアプリケーションをモニターする場合は、.NETエージェントのインストールの.NET Frameworkサポートが有効化されていることを確認してください。
以下のアプリケーション/ウェブサーバーのいずれかを使用してください。
- Kestrel
- KestrelとIISリバースプロキシ(AspNetCoreModule経由)
- KestrelとIISリバースプロキシ(AspNetCoreModuleV2経由)
- KestrelとNginxリバースプロキシ
- KestrelとApacheリバースプロキシ
- インプロセスホスティング
このエージェントは、以下のオペレーティングシステムでの動作を確認済みです。
オペレーティングシステム | サポート対象バージョン |
---|
Windows(32ビットおよび64ビットのIntel互換アーキテクチャー) | - Windows Server 2008 R2 SP1
- Windows Server 2012
- Windows Server 2012 R2
- Windows Server 2016
- Windows Server 2019
- Windows Server 2022
- Windows 10
- Windows 11
- Server 2016上で動作するWindowsコンテナ(NanoServerベースの画像には対応していません)
|
Linux(64ビットIntel互換のみ) | .NET Core 2.0+/.NET 5+ランタイムがサポートするすべてのx64 Linuxの販売は、.NET Coreエージェントによってサポートされています。完全なリストについては、使用しているランタイムのバージョンに関するMicrosoftのドキュメントを参照してください。 |
Linux(ARM64/aarch64アーキテクチャー) | .NET 5+ランタイムがサポートするすべてのARM64 Linuxの販売は、.NETエージェントによってサポートされています。完全なリストについては、Microsoftのドキュメントを参照してください。 |
Azure固有のインストレーション手順については、以下を参照してください。
エージェントは、32ビット(x86)と64ビット(x64)の両バージョンのWindowsの他、64ビット(x64)とARM64(aarch64)バージョンの両方の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、5.0、6.0および7.0(Web APIを含む)
.NETエージェントは、以下のデータストアへの .NETアプリケーション呼び出しのパフォーマンスを自動的にインストゥルメントします。
データストア | インスタンスの詳細 | メモ |
---|
Cosmos DB | | .NETエージェントv9.2.0 以降では、Microsoft.Azure.Cosmosライブラリが自動的にインストゥルメントされます。 - サポートされている最小バージョン:3.17.0
- 検証済みの互換性バージョン:3.17.0、3.23.0
|
Microsoft SQL Server | | System.Data.SqlClient NuGet packageパッケージまたはMicrosoft.Data.SqlClient NuGetパッケージからSqlClientを使用します。 System.Data.SqlClient サポートされている最小バージョン:4.4.0 検証済みの互換性バージョン:4.4.0、4.6.1、4.7.0、4.8.4 Microsoft.Data.SqlClient サポート対象の最小バージョン:1.0.19239.1 検証済みの互換バージョン:1.0.19239.1、2.1.5、3.1.1、4.1.1、5.0.1
|
PostgreSQL | | Npgsqlの使用 |
MongoDB(最新ドライバー) | | サポートされている最小バージョン:2.3.0 検証済みの互換性バージョン:2.3.0、2.8.1、2.13.1、2.14.1、2.17.1、2.19.0 既知の非互換性バージョン:2.7以降で追加された新しいメソッドは現在インストゥルメントされていません。 |
MySQL | | MySql.DataまたはMySQLコネクターの使用 MySql.Data |
StackExchange.Redis | | サポートされている最小バージョン:1.0.488 検証済みの互換性バージョン:1.0.488、1.1.608、1.2.6, 2.0.601、2.1.58、2.2.88、2.6.66 |
.NETエージェントは、データストアプロセスを直接モニターしません。また、デフォルトでは、クエリのトレースでキャプチャされた.NET SQLパラメーターには、パラメーター化したクエリやストアドプロシージャのパラメーターはリストされません。
サポート対象のデータストアに対するインスタンス詳細の収集は、デフォルトで有効になっています。現在リストされてないデータストアからインスタンスレベルの情報をリクエストするには、support.newrelic.comでサポートを受けてください。
.NETエージェントは、以下の外部呼び出しライブラリを自動的にインストゥルメントします。
ライブラリ | サポート対象のメソッド |
---|
HttpClient | エージェントは、次のHttpClientメソッドをインストゥルメントします。 SendAsync GetAsync PostAsync PutAsync DeleteAsync GetStringAsync GetStreamAsync GetByteArrayAsync
|
エージェントは、以下に示すメッセージシステムを自動的にインストゥルメントします。
ライブラリ | サポート対象のメソッド |
---|
NServiceBus | - メッセージの配置と採用
- サポートされている最小バージョン:5.0
|
RabbitMQ | メッセージの配置、採用、およびキューの削除 IBasicConsumer を使ってメッセージを受信するときは、EventingBasicConsumer が.NETエージェントによってインストゥルメントされる唯一の実装になります。
BasicGet はインストゥルメンテーションされますが、エージェントはBasicGet のディストリビューティッド(分散)トレーシングをサポートしていません。
以下のメソッドがインストゥルメントされています。 IModel.BasicGet IModel.BasicPublish IModel.BasicComsume IModel.QueuePurge EventingBasicConsumer.HandleBasicDeliver
サポートされている最小バージョン:3.5.2 検証済みの互換性バージョン:3.5.2、5.1.0、6.2.1、3.6.9、4.1.3、5.2.0、6.0.0、6.2.1、6.4.0
|
.NETエージェントは、エージェントの転送とローカルログ装飾を使用して、自動ログインコンテキストのロギングフレームワークを自動的にインストゥルメントするように設定できます。
フレームワーク | サポートされている最小バージョン | 検証済みの互換性バージョン |
---|
Log4Net | 2.0.6 | 2.0.10、2.0.12、2.0.13、2.0.14 |
Serilog | 2.0.0 | 2.8.0、2.10.0、2.11.0、2.12.0 |
Microsoft.Extensions.Logging | 2.0.0 | 3.0.0、3.1.22、6.0.0 |
NLog | 4.0.0 | 4.5.9、4.7.15、5.0.4 |
利用できない機能
.NETエージェントでは、以下の機能は使用できません。
APMに加え、.NETエージェントは他のNew Relic製品と統合し、エンドツーエンドの可視性を提供します。