New Relic の最新の機能、拡張機能、重要なセキュリティパッチを最大限に活用するために、Node.js エージェントを最新バージョンにアップデートすることをお勧めします。特定のエージェントのアップデートに関する詳細については、 Node.js エージェントのリリースノート を参照してください。リリースノートには、該当する場合にはダウンロードリンクと、最新バージョンをダウンロードして インストールするための手順が記載されています 。
newrelic
モジュールがpackage.json
にリストされている場合は、 npm install
を実行します。newrelic
モジュールのみをターゲットにする場合は、 npm update newrelic
を実行します。
推奨: 更新したバージョンを運用に移す前にテストしてみてください。問題が発生した場合は、Node.js エージェント トラブルシューティング手順 に従ってください。
Node.js エージェント バージョン 9 にアップグレードする
Node.js バージョン 9 にアップグレードする前に、主な変更点についてこの情報を確認してください。
Node.js エージェント v9 の主な変更点 | コメントコメント |
---|
Node.js 18 の公式パリティ サポートが追加されました。 | |
速報: Node.js 12 のサポートを終了しました。 | |
BREAKING: エージェントは、「certificates」設定を使用した場合、New Relic の証明書バンドルを自動的に含めなくなりました (一般的にプロキシで使用されます)。 | - 「証明書」構成を使用する場合、エージェントには New Relic 証明書バンドルが含まれなくなりました (通常はプロキシを使用します)。これにより現在の環境が壊れていることがわかった場合は、Mozilla などの CA バンドルを入手することをお勧めします。
|
速報: エージェントは、ポート 443 への外部 HTTPS リクエストを行うときにポートを除外し、仕様および他のエージェントに準拠するようになりました | - デフォルトの HTTPS ポートを使用する場合、以前の外部セグメントは
External/example.com:443 という名前になります。
| - 外部セグメントの名前は
External/example.com になります。
|
速報: await_support 機能フラグを介して非同期フック ベースの promise コンテキスト トラッキングを無効にする機能を削除しました。これにより、従来の Promise インストルメンテーションも削除されます。 | await_support 機能フラグをリリースしました。エージェントは、async_hooks に依存して async promise の伝播を追跡するようになりました。最終的な結果は、 feature_flag.await_support を false に設定した場合、レガシー インストルメンテーションは promise チェーン内のすべての関数を個別のセグメントとして追跡します。
|
BREAKING : 古いoracle npm パッケージのインストルメンテーションを削除しました。 | |
BREAKING : pg の最小バージョンを 8.2.x に更新しました。これは、Node.js 14 以降で実行される最も初期のサポート バージョンです。 | |
BREAKING : サポートされる hapi の最小バージョンを v20.0.0 に更新しました。 | - v20.0.0 より前のすべてのバージョンは、セキュリティ上の理由から、hapi によって非推奨になっています。サポート ポリシーを参照してください。
|
New Relic の依存関係を、Node.js バージョンのサポートが更新されたバージョンに更新する | - @newrelic/aws-sdk v5.0.0
- @newrelic/koa v7.0.0
- @newrelic/native-metrics v9.0.0
- @newrelic/superagent v6.0.0
- @newrelic/test-utilities v7.0.0
|
Node.jsバージョンのサポート
Node.js 14 は、New Relic Node.js v9 エージェントでサポートされている最も古いバージョンです。Node.js 12 および 13 は v9 ではサポートされていません。Node.js 13 以前を実行しているお客様には、次の 2 つのオプションがあります。
- サポートされているバージョンの Node.js にアップグレードして、New Relic Node.js v9 エージェントの新機能を活用してください。
- アップデート エージェント バージョンでのみ利用可能な新機能を使用する機能なしで、New Relic Node.js v8 エージェントにとどまります。
ヒント
できるだけ早く Node.js の新しいバージョンにアップグレードしてください。New Relic Node.js エージェントの次のメジャー バージョンでは、Node.js 14 のサポートが削除される可能性があります。
Node.jsエージェントバージョン8へのアップグレード
Node.jsのバージョン8にアップグレードする前に、主要な変更点についてこの情報を確認してください。
Node.jsエージェントv8での主な変更点 | コメントコメント |
---|
Node.js 16 の公式パリティ サポートが追加されました。 | |
BREAKING : Node.js v10.x サポートを削除しました。 | |
BREAKING : 機能フラグとしてserverless_mode を削除しました。 | - 標準の
serverless_mode 構成はまだ存在します。
|
BREAKING: エージェントは、「certificates」設定を使用した場合、New Relic の証明書バンドルを自動的に含めなくなりました (一般的にプロキシで使用されます)。 | - これにより現在の環境が壊れていることがわかった場合は、機能フラグを利用して、この機能を一時的に復元できます。構成例:
feature_flag: { certificate_bundle: true } 。この場合、Mozilla などの環境用の証明書バンドルを取得することをお勧めします。New Relic バンドルと機能フラグは、次のメジャー リリースで完全に削除されます。 - config.feature_flags.certificate_bundleのデフォルトをfalseに設定しました。
|
New Relic Dependencies を更新された Node.js バージョンのサポートを含むバージョンに更新する | - @newrelic/aws-sdk v4.0.1
- @newrelic/koa v6.0.1
- @newrelic/native-metrics v7.0.1
- newrelic/superagent v5.0.1
- @newrelic/test-utilities v6.0.0
|
Node.jsバージョンのサポート
Node.js v12 は、New Relic Node.js v8 エージェントでサポートされている最も古いバージョンです。Node.js 10 および 11 は v8 ではサポートされていません。Node.js 11 以前を実行しているお客様には、次の 2 つのオプションがあります。
- サポートされているバージョンの Node.js にアップグレードして、New Relic Node.js v8 エージェントの新機能を活用してください。
- New Relic Node.js v7エージェントのままでは、エージェントのバージョンを更新した場合にのみ利用できる新機能を使用することができません。
ヒント
できるだけ早く Node.js の新しいバージョンにアップグレードしてください。New Relic Node.js エージェントの次のメジャー バージョンでは、Node.js 12 のサポートが削除される可能性があります。
Node.jsエージェントバージョン7へのアップグレード
Node.jsのバージョン7にアップグレードする前に、主要な変更点についてこの情報を確認してください。
Node.jsエージェントv7での主な変更点 | コメントコメント |
---|
速報非推奨のhttpResponseCode 、 response.status 、 httpResponseMessage の http 応答属性を削除しました | - v6.4.2-v6.14.0: agent v6.4.2以降、これらの属性は非推奨とされていましたが、新しい属性への移行期間を設けるために残されました。
- v7: http 応答属性のレポートが有効になっている場合、
http.statusCode とhttp.statusText がレポートされます。
|
BREAKING非推奨のsetIgnoreTransaction API メソッドを削除しました | |
BREAKING api.custom_parameters_enabled 構成アイテムと関連する環境変数NEW_RELIC_API_CUSTOM_PARAMETERS を削除しました。 | |
BREAKING非推奨の Distributed Tracing API メソッドcreateDistributedTracePayload() と acceptDistributedTracePayload() | |
New Relic Dependencies を更新された Node.js バージョンのサポートを含むバージョンに更新する | - @newrelic/aws-sdk v3.0.0
- @newrelic/koa v5.0.0
- @newrelic/native-metrics v6.0.0
- @newrelic/superagent v4.0.0
- @newrelic/test-utilities v5.0.0
|
Node.jsバージョンのサポート
Node.js v10 は、New Relic Node.js v7 エージェントでサポートされている最も古いバージョンです。Node.js 8 および 9 は v7 ではサポートされていません。Node.js 9 以前を実行しているお客様には、次の 2 つのオプションがあります。
- サポートされているバージョンの Node.js にアップグレードして、New Relic Node.js v7 エージェントの新機能を活用してください。
- New Relic Node.js v6 エージェントのままでは、エージェントのバージョンを更新したときにのみ利用できる新機能を使用できません。
Node.js 10 は更新を受け取りません。できるだけ早く Node.js の新しいバージョンにアップグレードしてください。Node.js 10 のサポートは、New Relic Node.js エージェント v8 で廃止されました。
Node.jsエージェントバージョン6へのアップグレード
Node.jsエージェント・バージョン6にアップグレードする前に、主要な変更点についてこの情報を確認してください。
Node.jsエージェントv6の主な変更点 | コメントコメント |
---|
Koaフレームワークの公式計測モジュールをv3.0.0にアップグレードしました。 | - v6: @koa/router v8.0.2までのサポートを追加しました。現在、@koa/router v8.0.3 以降はサポートされていません。
- v6: Node.js v12 のサポートが追加され、Node.js v6、7、および 9 のサポートが削除されました。サポートされる最小バージョンは Node.js v8 です。
- また、GithubにあるNew Relicの Koa Release Notesもご覧ください。 。
|
非推奨のmax_samples_per_minute 構成パラメーターを削除しました。これはmax_samples_stored 動作に置き換えられました | - v1 - v5:
max_samples_per_minute は、エージェントが 1 分あたりに収集するイベントの最大数を定義しました。以前にアプリケーションでmax_samples_per_minute を上限として使用していた場合、サーバー上でデータがドロップされないように、しきい値を有効な最大値まで下げる必要がある場合があります。10k 未満をお勧めします。 - v5:エージェント v5 以前では、エージェントがNew Relic コレクターと通信できない場合にエージェントが保存するイベントの最大数を
max_samples_stored で定義していました。 - v6:
max_samples_stored の新しい動作は、エージェントが 1 分あたりに収集するイベントの最大数を定義します。この数よりも多い場合、エージェントは統計的サンプリングを収集します。この構成の使用法は、他の APM エージェントと一致しています。 - トラブルシューティングのヒント:イベント データが欠落している場合は、
max_samples_stored の値を増やすか、デフォルト値に戻してください。max_samples_stored の値は 10,000 を超えてはなりません。
|
Node.jsバージョンのサポート
Node.js 8 は、New Relic Node.js v6 エージェントでサポートされている最も古いバージョンです。Node.js 6、7、9 は v6 ではサポートされていません。Node.js 6、7、および 9 を実行しているお客様には、次の 2 つのオプションがあります。
- サポートされているバージョンの Node.js にアップグレードして、New Relic Node.js v6 エージェントの新機能を活用してください。
- New Relic Node.js v5エージェントのままでは、エージェントのバージョンを更新したときにのみ利用できる新機能を使用できません。
Node.js 8 は更新を受け取らなくなりましたが、New Relic は当面の間、これらのバージョンの Node.js を引き続きサポートします。
ヒント
できるだけ早く Node.js の新しいバージョンにアップグレードしてください。New Relic Node.js エージェントの次のメジャー バージョンでは、Node.js 8 のサポートが削除される可能性があります。
Node.jsエージェントバージョン5へのアップグレード
Node.js agent v5 にアップグレードする前に、主要な変更点についてこの情報を確認してください。また、New Relic の Node.js v5 移行ガイド(GitHub )もご覧ください。
Node.js v5 エージェントの主な変更点 | コメントコメント |
---|
非推奨のaddCustomParameter メソッドを削除しました。 | |
非推奨のcreate*Transaction メソッドを削除しました。 | |
非推奨のcreateTracer メソッドを削除しました。 | - v3 - v4:エージェント v3.3.0 以降、このメソッドは
newrelic.startSegment() を支持して非推奨としてマークされました。 - v5:アプリケーションは
newrelic.startSegment() に更新する必要があります。
|
node-cassandra-cql インストルメンテーションを削除しました。
| - v4: npm パッケージ
node-cassandra-cql を使用するアプリケーションは、Cassandra のデータストア メトリックを取得します。 - v5: Cassandra データストア メトリックを取得するには、アプリケーションを
cassandra-driver パッケージに移行する必要があります。このモジュールは、同じ開発者によって積極的に維持されています。node-cassandra-cql パッケージは 2014 年 2 月に放棄され、 cassandra-driver パッケージが採用されました。
|
非推奨のcapture_params およびignored_params 構成を削除しました。 | - v2 - v4: agent v2.7.0 以降、これらの設定パラメータでは警告が記録され、その値は自動的に新しい属性設定にアップグレードされます。
- v5: 警告は記録されますが、設定は無視され、自動アップグレードは行われなくなります。
- トラブルシューティングのヒント:アプリケーションのパラメーターが
ignored_params 構成にリストされている場合は、それらをattributes.exclude に移動する必要があります。
|
Node.jsバージョンのサポート
Node.js 6 は、New Relic Node.js v5 エージェントでサポートされている最も古いバージョンです。Node.js 4 および 5 は v5 ではサポートされていません。Node.js 4 または 5 を実行しているお客様には、次の 2 つのオプションがあります。
- サポートされているバージョンの Node.js にアップグレードして、New Relic Node.js v5 エージェントの新機能を活用してください。
- New Relic Node.js v4 エージェントのままでは、エージェントのバージョンを更新したときにのみ利用できる新機能を使用できません。
Node.js 7 および 9 は更新を受け取らなくなりましたが、New Relic は当面の間、これらのバージョンの Node.js を引き続きサポートします。
ヒント
できるだけ早く Node.js の新しいバージョンにアップグレードしてください。New Relic Node.js エージェントの次のメジャー バージョンでは、Node.js 6 および 7 のサポートが削除される可能性があります。
v5での機能フラグ
New Relic for Node.js v5.の時点で。
custom_instrumentation
: この機能は構成できなくなりました。custom_metrics
: この機能は構成できなくなりました。synthetics
: この機能は構成できなくなりました。native_metrics
: この機能は、 plugins.native_metrics.enabled
構成値によって制御されるようになりました。
Node.jsエージェントバージョン4へのアップグレード
Node.js agent v4 にアップグレードする前に、主要な変更点についてこの情報を確認してください。また、New Relic の Node.js v4 移行ガイドを GitHub でご覧いただけます。
Node.js v4 エージェントの主な変更点には、 https-proxy-agent
の v0 から v2 へのアップグレードが含まれます。この依存関係は、New Relic Node.js エージェントが使用したhttps-proxy-agent
のセキュリティの問題により更新されました。https-proxy
v2 はノード v0.10 および v0.12 と互換性がないため、New Relic は、これらのエージェント バージョンを廃止しました。New Relic の Node.js エージェントの v3 から v4 に移行するために必要なアクションはありません。
Node.js 4 は、New Relic Node.js v4 エージェントでサポートされている最も古いバージョンです。Node.js 0.10 および 0.12 は v4 ではサポートされていません。Node.js 0.10 または 0.12 を実行しているお客様には、次の 2 つのオプションがあります。
サポートされているバージョンの Node.js にアップグレードして、New Relic Node.js v4 エージェントの新機能を活用してください。
New Relic Node.js v3 エージェントのままでは、エージェントのバージョンが更新された場合にのみ利用できる新機能を利用することができません。
Node.js 4、5、および 7 も更新を受け取りませんが、New Relic は当面の間、これらのバージョンの Node.js を引き続きサポートします。
ヒント
できるだけ早く Node.js の新しいバージョンにアップグレードしてください。New Relic Node.js エージェントの次のメジャー バージョンでは、Node.js 4 および 5 のサポートが削除される可能性があります。
Node.jsエージェントバージョン3へのアップグレード
Node.js エージェント agent v3 にアップグレードする前に、主要な変更点についてこの情報を確認してください。また、New Relic の Node.js v3 移行ガイド(GitHub )もご覧ください。
Node.js v3 agentの主な変更点 | コメントコメント |
---|
SSL設定の削除 | - v2: v2のエージェントでは、暗号化せずにNew Relicに接続するように設定することが可能でした。
- v3: Node.js エージェント v3 は、通信を保護するために常に TLS 暗号化を使用して New Relic サーバーに接続します。エージェントがこれを無効にするように設定されている場合は、警告が記録され、設定は無視されます。
|
リクエスト パラメータにプレフィックスが付きました request.parameters. | - v2: v2 エージェントは、ルート パラメーター (
/users/:userId ) やクエリ パラメーター ( /users?userId=123 ) などの要求パラメーターをパラメーター名 ( userId ) として収集します。 - v3: v3 エージェントは、すべてのリクエスト パラメータの前に文字列
request.parameters. を付けます。たとえば、 userId はrequest.parameters.userId と表示されます。 - トラブルシューティングのヒント。 ダッシュボード、アラートポリシー、またはリクエストパラメータに基づくその他の NRQL クエリがある場合は、新しいパラメータ名でそれらを更新してください。
|
New Relic Node.js エージェント v3 以降、 send_request_uri_attribute
機能は構成できなくなりました。
Node.jsエージェントバージョン2へのアップグレード
Node.js agent v2 にアップグレードする前に、主要な変更点についてこの情報を確認してください。また、New Relic の Node.js v2 移行ガイドを GitHub でご覧いただけます。
Node.js v2 agentの主な変更点 | コメントコメント |
---|
ネーミングと無視のルールが逆転 | - v1: v1 エージェントでは、構成プロパティ
rules.name およびrules.ignore で定義されたルールが逆の順序で適用されました。リストの最初のルールが最後に適用されました。 - v2: Node.js agent v2 は、定義された順にルールを適用するので、リストの最初のルールが最初に適用されます。
- トラブルシューティングのヒント。 v1エージェントでネーミングルールを使用して問題が発生した場合は、設定でルールの順番を逆にしてください。
|
重複していないHTTPリクエストのトランザクション | - v1: v1 エージェントは、HTTP サーバーの
request イベントでリスナーごとに新しいトランザクションを開始しました。request イベントで複数のリスナーを使用するアプリケーションでは、これにより無関係なトランザクションが作成され、ほとんどの場合、正しく名前が付けられませんでした。 - v2: v2 エージェントは、発行された
request イベントごとに 1 つのトランザクションのみを作成します。 - トラブルシューティングのヒント:複数の
request イベント リスナーを使用し、余分なトランザクションを削除するためにnewrelic.ignoreTransaction() への呼び出しを追加した場合は、それらの呼び出しを削除します。
|
アウトバウンド・リクエスト・エラーの飲み込みが悪くなった | - v1: v1 エージェントは、アウトバウンド HTTP 要求オブジェクトによって発行された未処理の
error イベントを飲み込みました。 - v2: v2 エージェントはこの動作を削除します。代わりに、v2 エージェントは通常の Node.js の実行を変更しません。これは、
error イベントが常に発行されることを意味します。 - トラブルシューティングのヒント:アウトバウンド リクエストを作成していて、現在
error イベントをリッスンしていない場合は、リスナーを追加して、アプリケーションに応じてエラーを処理します。
|
newrelic.js
で、最新バージョンとの互換性のために使用するNode.js エージェント構成プロパティを編集します。
償却資産 | 新規物件 |
---|
capture_params
| attributes.enabled: false
デフォルトでは、リクエスト属性は New Relic に送信されません。attributes.enabled: true を設定して、トレースにエージェント定義またはカスタムの属性を含めます。capture_params プロパティは廃止されました。 |
ignored_params
| attributes.exclude: []
要求属性キーをattributes.exclude リストに追加します。現在、完全一致である必要はなく、ワイルドカード ( * ) を各項目に追加して、より広範なフィルタリングを行うことができます。ignored_params プロパティは廃止されました。 |
これらの Node.js エージェント設定 プロパティには、以下のような特定の宛先に対するオーバーライドもあります。
Node.jsエージェントの以下のメソッドは非推奨となっており、New Relicはエージェントのv5で削除しました。それぞれのメソッドには、より柔軟で信頼性の高い方法で同じタスクを達成する簡単な代替手段があります。
New Relic Node.js v2 エージェントでは、以下の API メソッドが新しくなりました。
このメソッドは、現在実行中のトランザクションへの参照を取得します。と合わせて使用します。
これらの新しい API メソッドは、古いcreate*Transaction
メソッドを置き換えます。それらは使いやすく、Promise とシームレスに連携します。v1 メソッドとは異なり、提供されたコールバックはすぐに呼び出されます。
カスタムのトレース属性を追加するには、このメソッドを使用します。
複数のカスタムトレース属性を追加する場合は、この方法を使用します。
New Relic Node.js v2 エージェントでサポートされている Node.js の最も古いバージョンは 0.10 です。2014 年 7 月以降更新されていない Node.js 0.8 は、v2 ではサポートされていません。Node.js 0.8 を実行しているお客様には、次の 2 つのオプションがあります。
サポートされているバージョンの Node.js にアップグレードして、New Relic Node.js v2 エージェントの新機能を活用してください。
New Relic Node.js v1 エージェントのままでは、エージェントのバージョンが更新された場合にのみ利用できる新機能を使用することができません。
Node.js 0.10 も更新を受信しなくなりましたが、New Relic は当面の間、このバージョンの Node.js を引き続きサポートします。
推奨事項:できるだけ早く Node.js の新しいバージョンにアップグレードしてください。
New Relic Node.js エージェントには、npm バージョン 2.0.0 以降が必要になりました。このバージョンの npm は、Node.js 0.10.44 以降にパッケージ化されています。
以前のバージョンの Node.js 0.10 を使用している場合は、最初に npm 2.0.0 以降をインストールするか、新しいバージョンの Node.js にアップグレードする必要があります。npm バージョン 2 をインストールするには:
$ npm install --global npm@2
New Relic Node.js agent v2.の時点で。
express_segments
: この機能は構成できなくなりました。cat
: この機能は、 cross_application_tracer.enabled
構成値によって制御されるようになりました。
New Relic Node.js agent v2.の時点で。
モジュール | V2最小 | v2以前の最小値 |
---|
エクスプレス | 4.6.0 | 2.0.0 |
mysql | 2.0.0 | 0.9.0 |