New Relic の最新の機能、拡張機能、重要なセキュリティパッチを最大限に活用するために、Node.js エージェントを最新バージョンにアップデートすることをお勧めします。特定のエージェントのアップデートに関する詳細については、 Node.js エージェントのリリースノート を参照してください。リリースノートには、該当する場合にはダウンロードリンクと、最新バージョンをダウンロードして インストールするための手順が記載されています 。
newrelic
モジュールが package.json
に記載されている場合は、 npm install
を実行してください。newrelic
モジュールだけをターゲットにしたい場合は、 npm update newrelic
を実行します。
推奨: 更新したバージョンを運用に移す前にテストしてみてください。問題が発生した場合は、Node.js エージェント トラブルシューティング手順 に従ってください。
Node.jsエージェントバージョン8へのアップグレード
Node.jsのバージョン8にアップグレードする前に、主要な変更点についてこの情報を確認してください。
Node.jsエージェントv8での主な変更点 | コメント |
---|
Node 16の公式パリティサポートを追加 | |
BREAKING: Dropped Node v10.x support. | |
BREAKING: serverless_mode を機能フラグとして削除しました。 | - 標準的な
serverless_mode の設定が残っています。
|
BREAKING: エージェントは、「certificates」設定を使用した場合、New Relic の証明書バンドルを自動的に含めなくなりました (一般的にプロキシで使用されます)。 | - 現在の環境でこの機能が使えないと感じた場合は、feature-flagを利用して一時的にこの機能を復活させることができます。設定例:
feature_flag:{ certificate_bundle: true }。 。この場合、Mozilla から提供されているような、あなたの環境に合った証明書バンドルを入手することをお勧めします。New Relic のバンドルと feature flag は、次のメジャーリリースで完全に削除される予定です。 - config.feature_flags.certificate_bundleのデフォルトをfalseに設定しました。
|
New Relic DependenciesをNodeのバージョンサポートが更新されたバージョンに更新する。 | - @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 v12 は、New Relic Node.js v8 エージェントがサポートする最も古いバージョンです。Node 10 および 11 は v8 ではサポートされていません。Node 11以前のバージョンをお使いのお客様には2つの選択肢があります。
- サポートされているNodeのバージョンにアップグレードして、New Relic Node.js v8エージェントの新機能を利用することができます。
- New Relic Node.js v7エージェントのままでは、エージェントのバージョンを更新した場合にのみ利用できる新機能を使用することができません。
ヒント
できるだけ早く、新しいバージョンのNodeにアップグレードしてください。New Relic Node.js エージェントの次のメジャーバージョンでは、おそらく Node 12 のサポートが削除されるでしょう。
Node.jsエージェントバージョン7へのアップグレード
Node.jsのバージョン7にアップグレードする前に、主要な変更点についてこの情報を確認してください。
Node.jsエージェントv7での主な変更点 | コメント |
---|
BREAKING 非推奨の削除 httpResponseCode , response.status and httpResponseMessage httpレスポンス属性 | - v6.4.2-v6.14.0: agent v6.4.2以降、これらの属性は非推奨とされていましたが、新しい属性への移行期間を設けるために残されました。
- v7: http response attribute reporting が有効な場合、
http.statusCode と http.statusText が報告されます。
|
BREAKING 削除された非推奨 setIgnoreTransaction APIメソッド | - v5 - v6: agent v5.0.0以降、このメソッドは非推奨とされていましたが、新しいメソッドへの移行期間として残してありました。
- v7: アプリケーションは、API メソッドを使用する必要があります
transactionHandle.ignore() .
|
BREAKING api.custom_parameters_enabled configuration item and associated environment variable NEW_RELIC_API_CUSTOM_PARAMETERS を削除しました。 | |
BREAKING 非推奨のDistributed Tracing APIメソッド、 creationDivertTracePayload() and acceptDivertTracePayload()を削除しました。 | |
New Relic DependenciesをNodeのバージョンサポートが更新されたバージョンに更新する。 | - @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 v10 は、New Relic Node.js v7 エージェントがサポートする最も古いバージョンです。Node 8および9はv7ではサポートされていません。 Node 9以前のバージョンをお使いのお客様には2つの選択肢があります。
- サポートされているNodeのバージョンにアップグレードして、New Relic Node.js v7エージェントの新機能を活用してください。
- New Relic Node.js v6 エージェントのままでは、エージェントのバージョンを更新したときにのみ利用できる新機能を使用できません。
Node 10はアップデートを受け取りません 。できるだけ早く、新しいバージョンのNodeにアップグレードしてください。Node 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 v12のサポートを追加し、Node v6, 7, 9のサポートを削除しました。サポートされる最小のバージョンはNode 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: agent v5 以下では、
max_samples_stored エージェントが New Relic collector と通信できない場合に保存するイベントの最大数を定義していました。 - v6:
max_samples_stored の新しい動作は、エージェントが 1 分間に収集するイベントの最大数を定義します。この数以上のイベントがある場合、エージェントは統計的なサンプリングを収集します。この設定の使い方は、他のAPMエージェントと同じです。 - トラブルシューティングのヒント。 イベントデータが不足している場合は、
max_samples_stored の値を大きくするか、デフォルトの値に戻してください。 max_samples_stored の値は10,000を超えないようにしてください。
|
ノードのバージョン対応
Node 8 は、New Relic Node.js v6 エージェントがサポートする最も古いバージョンです。Node 6、7、9はv6ではサポートされていません。Node 6、7、9をお使いのお客様には2つの選択肢があります。
- サポートされているNodeのバージョンにアップグレードして、New Relic Node.js v6エージェントの新機能を活用してください。
- New Relic Node.js v5エージェントのままでは、エージェントのバージョンを更新したときにのみ利用できる新機能を使用できません。
Node 8 はもはやアップデートを受けることはありません が、New Relic は当面の間、これらのバージョンの Node のサポートを継続します。
ヒント
できるだけ早く、新しいバージョンのNodeにアップグレードしてください。New Relic Node.js エージェントの次のメジャーバージョンでは、おそらく Node 8 のサポートが削除されるでしょう。
Node.jsエージェントバージョン5へのアップグレード
Node.js agent v5 にアップグレードする前に、主要な変更点についてこの情報を確認してください。また、New Relic の Node.js v5 移行ガイド(GitHub )もご覧ください。
Node.js v5 エージェントの主な変更点 | コメント |
---|
非推奨の addCustomParameter メソッドを削除しました。 | |
非推奨の create*Transaction メソッドを削除しました。 | |
非推奨の createTracer メソッドを削除しました。 | |
node-cassandra-cql instrumentationを削除しました。
| - 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 6 は、New Relic Node.js v5 エージェントでサポートされる最も古いバージョンです。Node 4と5はv5ではサポートされていません。 Node 4または5をお使いのお客様には2つの選択肢があります。
- サポートされているNodeのバージョンにアップグレードすることで、New Relic Node.js v5エージェントの新機能を利用することができます。
- New Relic Node.js v4 エージェントのままでは、エージェントのバージョンを更新したときにのみ利用できる新機能を使用できません。
Node 7 と 9 はもうアップデートを受けていません。 しかし、New Relic は当面の間、これらのバージョンの Node をサポートし続けます。
ヒント
できるだけ早く、新しいバージョンのNodeにアップグレードしてください。New Relic Node.js エージェントの次のメジャーバージョンでは、おそらく Node 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はnode v0.10およびv0.12との互換性がないため、New Relicはこれらのエージェントバージョンを非推奨としました。New Relic の Node.js エージェントの v3 から v4 への移行に必要なアクションはありません。
Node 4 は、New Relic Node.js v4 エージェントがサポートする最も古いバージョンです。Node 0.10および0.12はv4ではサポートされていません。 Node 0.10または0.12をお使いのお客様には2つの選択肢があります。
サポートされているNodeのバージョンにアップグレードして、New Relic Node.js v4エージェントの新機能を活用してください。
New Relic Node.js v3 エージェントのままでは、エージェントのバージョンが更新された場合にのみ利用できる新機能を利用することができません。
Node 4, 5, 7 もアップデートが行われなくなりました。, しかし、New Relic は当面の間、これらのバージョンの Node のサポートを継続します。
ヒント
できるだけ早く、新しいバージョンのNodeにアップグレードしてください。New Relic Node.js エージェントの次のメジャーバージョンでは、おそらく Node 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 agent 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エージェントは、
リクエスト イベントを発するごとに、1つのトランザクションのみを作成します。 - トラブルシューティングのヒント。 複数の
リクエスト イベントリスナーを使用し、余分なトランザクションを削除するために newrelic.ignoreTransaction() の呼び出しを追加した場合は、これらの呼び出しを削除してください。
|
アウトバウンド・リクエスト・エラーの飲み込みが悪くなった | - v1: v1エージェントは、送信されるHTTPリクエストオブジェクトが発する未処理の
エラー イベントを飲み込んでいました。 - v2: v2エージェントは、この動作を削除します。その代わり、v2エージェントは通常のNodeの実行を変更しません。つまり、
エラー イベントは常に発せられます。 - トラブルシューティングのヒント。 アウトバウンドのリクエストを行っていて、現在
エラー イベントをリッスンしていない場合は、リスナーを追加して、アプリケーションに応じて適切にエラーを処理してください。
|
newrelic.js
で、 Node.js エージェントの設定 のプロパティを編集して、最新のバージョンに対応させます。
償却資産 | 新規物件 |
---|
capture_params
| attributes.enabled: false
デフォルトでは、リクエスト属性は New Relic に送信されません。 attributes.enabled: true を設定すると、エージェントが定義した属性やカスタム属性をトレースに含めることができます。 capture_params プロパティは非推奨となりました。 |
ignored_params
| attribute.excludeを指定します。[]
任意のリクエスト属性キーを attributes.exclude リストに追加します。ここでは、完全に一致しなければならないのではなく、ワイルドカード(* )を各項目に追加して、より広い範囲でフィルタリングできるようになっています。 ignored_params プロパティは非推奨となりました。 |
これらの Node.js エージェント設定 プロパティには、以下のような特定の宛先に対するオーバーライドもあります。
Node.jsエージェントの以下のメソッドは非推奨となっており、New Relicはエージェントのv5で削除しました。それぞれのメソッドには、より柔軟で信頼性の高い方法で同じタスクを達成する簡単な代替手段があります。
New Relic Node.js v2 エージェントでは、以下の API メソッドが新しくなりました。
このメソッドは、現在実行中のトランザクションへの参照を取得します。と合わせて使用します。
これらの新しいAPIメソッドは、従来の create*Transaction
メソッドに代わるものです。このメソッドは、より使いやすく、プロミスとシームレスに連携します。v1のメソッドとは異なり、提供されたコールバックは直ちに起動されます。
カスタムのトレース属性を追加するには、このメソッドを使用します。
複数のカスタムトレース属性を追加する場合は、この方法を使用します。
New Relic Node.js v2 エージェントがサポートする Node の最も古いバージョンは 0.10 です。2014年7月以降更新されていないNode 0.8は、v2ではサポートされていません。Node 0.8をお使いのお客様には2つの選択肢があります。
サポートされているNodeのバージョンにアップグレードして、New Relic Node.js v2エージェントの新機能を活用してください。
New Relic Node.js v1 エージェントのままでは、エージェントのバージョンが更新された場合にのみ利用できる新機能を使用することができません。
Node 0.10 もアップデートが行われなくなりました。 しかし、New Relic は当面の間、このバージョンの Node のサポートを継続します。
推奨: 新しいバージョンのNodeにできるだけ早くアップグレードする。
New Relic Node.jsのエージェントには、npmのバージョン2.0.0以上が必要になりました。このバージョンのnpmは、Node 0.10.44以降にパッケージされています。
以前のバージョンのNode 0.10を使用している場合は、まずnpm 2.0.0以上をインストールするか、より新しいNodeのバージョンにアップグレードする必要があります。npmバージョン2.0.0をインストールするには
$ 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 |