• /
  • EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

Node.jsエージェントの設定

newrelic.js設定ファイルを編集するか、環境変数を設定することで、Node.jsエージェントをアプリケーションの要件に合わせて調整できます。設定ファイルは、アプリケーションのルートディレクトリに存在します。また、New Relicでいくつかのオプションを設定するか、Node.jsエージェントAPIを使用することもできます。

スタートガイド

New Relicアカウントを作成(永久無料)し、Node.jsエージェントをインストールした後、環境に合わせてNode.jsエージェントを設定できます。

license_key設定は必須です。また、アプリケーションにデフォルトのapp_nameではなく意味のある名前My Applicationに付けることを強く推奨しています。

設定方法と優先順位

Node.jsエージェントを設定する最初の方法は、エージェント設定ファイル (newrelic.js) です。また、ほとんどの設定は環境変数を使用して設定できます。さらに、サーバーサイドコンフィグレーションを使用して調整できる設定もあります。

Node.jsエージェントは、設定方法に下記の優先順位の順序を使用します:

Node.js agent configuration precedence

Node.js configuration hierarchy: サーバーサイドコンフィグレーション設定は環境変数に優先します。環境変数はエージェント設定ファイルに優先します。設定ファイルはエージェントのデフォルト設定に優先します。

各設定方法の詳細な説明は、以下のとおりです。

エクスポート変数

本セクションは、ご利用のアプリケーションのnewrelic.js設定ファイルのexports.config = {セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。

変数のロギング

本セクションは、ご利用のアプリケーションのnewrelic.js設定ファイルのlogging: {セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。

AIモニタリング

このセクションには、AIモニタリングを設定するためのNode.jsエージェント設定が含まれます。

重要

AIデータをキャプチャするには、ディストリビューティッド(分散)トレーシングを有効化する必要があります。 Node.jsエージェント8.3.0以降では、デフォルトで有効になっています。 高セキュリティモードを有効にしている場合、AIモニタリングは機能しません。

監査ログ

本セクションは、ご利用のアプリケーションのnewrelic.js設定ファイルのaudit_log: {セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。

APIの設定

このセクションでは、有効にするAPIメソッドを選択できます。各設定オプションでは、New Relicにカスタム情報を送信する役割を果たすAPIメソッドをモジュール式に有効化できます。

重要

エージェントが高セキュリティモードの場合、これらすべてはfalseに設定されます。

属性

このセクションでは、お使いのアプリケーションのnewrelic.js設定ファイルのattributes: {セクションに通常表示される順序で、Node.jsエージェント属性の変数を定義します。

注意

すべてのヘッダー関連の追加/除外ルールは、フィルタリング用にキャメルケース形式にする必要があります。

エラーコレクター変数

New Relicでエラーの処理方法を管理できます。本セクションは、ご利用のアプリケーションのnewrelic.js設定ファイルのerror_collector: {セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。

トランザクショントレーサーの変数

エージェントは、次の目的に、リクエストをトランザクションに分類します。

  • アプリケーションが時間を費やしている場所を可視化します(トランザクションの内訳)。
  • 遅いリクエストを特定します。
  • メトリクスをグループ化します。
  • 遅いデータベースパフォーマンスなど、他の問題を切り分けます。

本セクションは、ご利用のアプリケーションのnewrelic.js設定ファイルのtransaction_tracer: {セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。

重要

トランザクション名の末尾に角括弧[suffix]を使わないでください。New Relicは名前から自動的に角括弧を除去します。代わりに、必要に応じて丸括弧(suffix)、またはその他の記号を使ってください。

ルールの変数

本セクションは、ご利用のアプリケーションのnewrelic.js設定ファイルのrules: {セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。

トランザクションイベントの変数

本セクションは、ご利用のアプリケーションのnewrelic.js設定ファイルのtransaction_events: {セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。

ブラウザモニターの変数

本セクションは、ご利用のアプリケーションのnewrelic.js設定ファイルのbrowser_monitoring: {セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。

カスタムイベント変数

本セクションは、ご利用のアプリケーションのnewrelic.js設定ファイルのcustom_insights_events: {セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。

スロークエリ変数

本セクションは、ご利用のアプリケーションのnewrelic.js設定ファイルのslow_sql: {セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。こうしたオプションは、スロークエリに関する行動を制御するものの、トランザクショントレースにおけるSQLノードには作用しません。

カスタムホスト名変数

本セクションは、ご利用のアプリケーションのnewrelic.js設定ファイルのprocess_host: {セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。こうしたオプションは、APM UIにおけるホストのディスプレイ名に関する動作を制御します。

データストアトレーサーの変数

本セクションは、ご利用のアプリケーションのnewrelic.js設定ファイルのdatastore_tracerセクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。こうしたオプションは、データストアインスタンスのメトリクスの収集に関する行動を制御します。

クロスアプリケーショントレース(廃止)

クロスアプリケーショントレーシングを制御するNode.jsエージェントの変数は、通常はご利用のアプリケーションのnewrelic.js設定ファイルのcross_application_tracerセクションに表示されます。

重要

クロスアプリケーショントレースは非推奨となり、代わりにディストリビューティッド(分散)トレーシングが採用されました。将来のエージェントバージョンでは削除されます。

重要

クロスアプリケーショントレース(CAT)は廃止され、今後のメジャーリリースで削除されます。クロスサービスの可視性のために、エージェントバージョン8.3.0のデフォルトで有効になっているディストリビューティッド(分散)トレーシングを使用することをお勧めします。有効にする前に、移行ガイドを読んでください。

エラーメッセージ編集の変数

このNode.jsエージェントの変数は、ご利用のアプリケーションのnewrelic.js設定のstrip_exception_messagesセクションに表示される、エラーメッセージ編集を制御します:

ディストリビューティッド(分散)トレーシング

ディストリビューティッド(分散)トレーシングでは、リクエストが経由する分散システムのパスを見ることができます。設定ファイルを介して設定する場合は、以下のオプションをdistributed_tracingセクションに配置してください。Node.jsエージェント8.3.0以降では、デフォルトでオンになっています。

重要

ディストリビューティッド(分散)トレーシングを有効にすると、クロスアプリケーショントレーシングが無効になり、他のAPM機能に影響します。有効にする前に、移行ガイドを読んでください。Node.jsエージェントのバージョン4.7.0以降が必要です

ディストリビューティッド(分散)トレーシングの設定の詳細については、Node.jsアプリケーションのディストリビューティッド(分散)トレーシングを有効にするを参照してください。

gRPCサーバーインストゥルメンテーション

grpcセクションでは、gRPCサーバーのインストゥルメント方法の動作が制御されます。

スパンイベント

スパンデータディストリビューティッド(分散)トレーシング用にレポートされます。スパンをレポートするには、ディストリビューティッド(分散)トレーシングが有効になっている必要があります。スパン設定はspan_eventsセクションで設定されます。オプションには次のものが含まれます。

無限トレーシング

無限トレーシングをオンにするには、以下の追加設定を加えます。無限トレーシング設定はinfinite_tracingセクションで設定します。さらに、ディストリビューティッド(分散)トレーシングを有効にする必要があります。Node.js APMエージェントバージョン8.3.0以降では、ディストリビューティッド(分散)トレーシングがデフォルトで有効になっています。

アプリケーションロギング

アプリケーションログの設定には、Node.JSエージェントのバージョン8.11.0以降が必要です。

Node.jsエージェントのログを設定するヒントについては、コンテキスト内のNode.jsログの設定を参照してください。

コードレベルのメトリクス

コードレベルのメトリクス設定には、Node.JSエージェントのバージョン9.7.5以降が必要です。

詳細については、コードレベルのメトリクスのドキュメントを参照してください。

エラーインボックスの設定

次のタグのいずれかを設定すると、エラーが発生しているソフトウェアのバージョンを特定するのに役立ちます。

  • NEW_RELIC_METADATA_SERVICE_VERSION デプロイされているコードのバージョン(多くの場合、1.2.3などのセマンティックバージョン)を含むイベントデータにtags.service.versionが作成されますが、常にそうとは限りません。
  • NEW_RELIC_METADATA_RELEASE_TAG リリースタグを含むイベントデータにtags.releaseTagを作成します(v0.1.209またはリリース-209など)。
  • NEW_RELIC_METADATA_COMMIT コミットSHAを含むイベントデータに対してtags.commitを作成します。SHA全体、または最初の7文字(例:734713b)のみを使用することもできます。

エラーインボックスの今後のリリースでは、ソフトウェアのどのバージョンでエラーが発生しているかを自動追跡します。どのバージョンデータもCodeStreamに表示されます。

URLの難読化

URLの難読化設定には、Node.jsエージェントのバージョン9.9.0以降が必要です。

設定例については、ノードエージェントURLの難読化のドキュメントを参照してください。

Securityエージェント

New Relic Securityエージェントのインタラクティブアプリケーションセキュリティテスト(IAST)は、脆弱なペイロードを含む生成済みHTTPリクエストを再生することで、お使いのアプリケーションに悪用できる脆弱性がないかをテストします。

注意

実稼働ソフトウェアの脆弱性の露呈を避ける場合にのみ、非実稼働のデプロイメントでIASTを実行してください。

重要

セキュリティエージェントの構成設定には、Node.jsエージェントのバージョン10.3.0以降が必要です。

Heroku

ワーカースレッド

11.0.0以前のバージョンのエージェントでは、エージェントはメインスレッドとワーカースレッドの両方で実行されていました。バージョン11.0.0では、非同期コンテキストの伝播との互換性がないため、エージェントはワーカースレッドでの実行を停止しました。ワーカースレッドで実行する機能はバージョン11.3.0で復元されましたが、worker_threads.enabledtrueに設定する必要があります。ワーカースレッドでの実行動作は多様であるため、公式にはサポートされていません。メトリクスの生成や自己完結型のトランザクション追跡などの機能は動作する可能性がありますが、これは自己責任で使用してください。

環境変数のオーバーライド

このセクションでは、環境変数のみで利用できる2つの設定を定義します。こうしたオーバーライドは、大半の設定では使用されません。

環境変数タイプのリファレンスガイド

このセクションでは、複雑なデータ型を適切にフォーマットする方法について説明します。

Copyright © 2024 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.