Node.jsエージェントの互換性と要件

Node.js用エージェントは、Node Package Manager (npm)リポジトリGitHubで公開されています。Node.jsエージェントをインストールする前に、お使いのアプリケーションが以下のシステム要件を満たしていることを確認します。

Node.jsバージョンのサポート

パフォーマンスを最大化するために、Node.jsの最新のアクティブな長期サポート(LTS)バージョンを使用してください。

新しいNode.jsリリースのサポート

当社は、以下のアクティブな長期サポートスケジュールの開始によってNode.jsリリースの最新偶数バージョンをサポートします。バージョンサポートポリシーは、一般的なエージェントおよびプラグイン有効期限(EOL)ポリシーを置き換えません。

提案される時間範囲を以下に示します。実際のリリース日は異なる可能性があります。

Node.jsのバージョン アクティブな長期サポート(LTS)開始日
サポート付きNode.jsエージェントの初期リリース日
14 2020年10月 2020年4月~10月
12 2019年10月22日 2019年11月

EOLに到達するNode.jsリリースのサポート終了日

新しい長期サポートエージェントバージョンのサポートが利用可能になると、同じ期間中に有効期限を迎えるNode.jsエージェントのバージョンのサポートは同時に終了します。

提案される時間範囲を以下に示します。実際のリリース日は異なる可能性があります。

Node.jsのバージョン 有効期限(EOL)日 Node.jsエージェントのサポート終了の初期リリース日
10 2021年4月 2021年4月~10月
8 2019年12月 2020年4月~10月
6 2019年4月 2019年11月

Node.js 12のエラー

Node.js 12の場合、以下の変更によってNode.jsエージェントが影響を受けます。

未処理の拒否につながったエラーは、その拒否されたpromiseの作成時にアクティブであったトランザクションに絞り込まれません。これは、init非同期hookのトリガーに責任を有するpromiseはもはやそのpromiseのwrapインスタンス上を通過しないからです。これによって、スケジュールされていたトランザクションに任意のpromise拒否を関連付けるリンクが遮断されます。

サポートされているNode.jsフレームワーク

サポートされているフレームワークをデフォルトのルーターとともに使用している場合、Node.jsエージェントはフレームワークのルート名をそのまま読み取ることができます。ただし、フレームワークが提供する名前より固有な名前が必要な場合は、New RelicがNode.jsトランザクションネーミングAPI によって提供する1つ以上のツールを使用できます。

オペレーティングシステム

  • Linux
  • SmartOS
  • MacOS 10.7以降
  • Windows Server 2008以降

データストア

Node.jsエージェントは、以下のデータストアに対するNode.jsアプリケーション呼び出しのパフォーマンスを監視します。

インスタンスの詳細

さまざまなデータベースとデータベースドライバを対象にインスタンスの詳細を収集できます。APMにおいて個々のインスタンスおよびデータベース情報の種類が見えるかどうかは、エージェントのバージョンによって異なります。

New RelicのNode.jsエージェントのバージョン1.31.0以降では、以下をサポートします。

データベース npmモジュール名 最小モジュールバージョン エージェントの最小バージョン
PostgreSQL pg 4.0.0 1.31.0
Redis redis 2.0.0 1.31.0
MongoDB mongodb 2.1.0 1.32.0
MySQL mysql 2.4.1 1.32.0
Memcached memcached 1.0.0 1.33.0

現在New Relicエージェントにリストされてないデータストアからインスタンスレベルの情報をリクエストするには、support.newrelic.comまでお問い合わせください。

メッセージキュー

メッセージキューのインストゥルメンテーションは、New Relic Node.js エージェントv2以降でのみ利用可能です。現在サポートされているメッセージキューのインストゥルメンテーション:

  • amqplib

他のメッセージキューライブラリには、カスタムインストゥルメンテーションを使用します。

ホスティングサービス

プロセスマネージャ

一般に、Node.jsの起動、停止、および再開を処理するプロセスマネージャは(Foreverなど)、Node.jsエージェントと互換性がある必要があります。PM2を使用している場合、PM2の最小サポートバージョンは2.0です。

セキュリティ要件

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

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

Node.jsエージェントはその他の機能と統合し、full-stack observabilityを実現します:

製品 インテグレーション
ブラウザをモニター 自動インストゥルメンテーションを有効にすると、Node.jsエージェントは自動的にBrowserモニタリングエージェントを挿入します。Browserモニタリングインジェクションを有効化したあと、APMの概要ページでBrowserデータを見ることや、特定のアプリケーションに対してAPMとBrowserデータを素早く切り替えることが可能です。設定オプションと手動インストゥルメンテーションについては、ブラウザのモニタリングとNode.jsエージェントをご覧ください。
インフラストラクチャのモニタリング InfrastructureとAPMエージェントを同じホストにインストールすると、それぞれが自動的にお互いを検出します。その後APM UIでホストのリストを見て、Infrastructure UIでAPMアプリを基準にInfrastructureホストをフィルタリングできます。詳しくは、インフラストラクチャモニターにおけるAPMデータをご覧ください。
New Relicのダッシュボード Node.jsエージェントは、NRQLクエリのためにデフォルトのイベントと属性を送信します。高度な分析のためにカスタムイベントを記録することも可能です。
合成モニタリング SyntheticトランザクショントレースはSyntheticsモニターからのリクエストを基になるAPMトランザクションに結びつけます。

その他のヘルプ

さらに支援が必要な場合は、これらのサポートと学習リソースを確認してください: