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

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

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

設定方法と優先順位

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

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

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

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

設定ファイル (newrelic.js) には、すべてのNode.jsエージェント設定が含まれています。Node.jsエージェントをインストールする際、newrelic.jsをアプリケーションのルートディレクトリにコピーする必要があります。ほとんどの設定のデフォルト値は空で、config/default.jsからの値を継承します。

newrelic.jsのほとんどのコンフィグレーション設定には同等の環境変数が含まれています。これらは、PaaS環境 (Heroku、Microsoft Azureなど) でエージェントを実行する場合に役立ちます。Node.jsエージェントの環境変数は常にNEW_RELIC_で始まります。

利用可能な場合、これらの環境変数は、個々の設定オプションの下に環境変数として文書化されています。また、環境変数を介してのみ設定できる、ほとんど使用されることがない2つの設定があります。

所有者 (オーナー) と管理者は、直接New Relicでいくつかの設定を表示、設定することができます。利用可能な場合、サーバーサイドコンフィグレーション用のUIラベルは、このドキュメントの個々の設定オプションの下にサーバーサイドラベルとしてリストアップされています。

エクスポート変数

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

app_name (強く推奨)
種類 文字列
デフォルト "My Application"
環境変数 NEW_RELIC_APP_NAME

New Relicがアプリケーションを識別するのに使用する名前。例:app_name: ['MyNodeApp']アプリケーションに複数の名前を使用するには、カンマ区切りの名前リストを指定します。

同じ名前のすべてのアプリケーションのデータはNew Relic UIにマージされるため、この設定は慎重に行ってください。当社では、混同や非意図的なデータの集計を避けるために、デフォルト名を分かりやすい名前に置き換えることを強く推奨しています。

Azureユーザーの場合、Node.jsエージェントは、Azure Webサーバー用に選択した名前を設定し直すことなく使用できるように、APP_POOL_IDを (設定されていれば) 使用します。

license_key (必須)
種類 文字列
デフォルト (なし)
環境変数 NEW_RELIC_LICENSE_KEY

この設定は必須です。お手持ちのNew Relicライセンスキー。例:license_key: '40HexadecimalCharacters'

agent_enabled
種類 ブール値
デフォルト true
環境変数 NEW_RELIC_ENABLED

エージェントの起動を防ぐには、falseに設定します。これは、コードをデバッグする際にエージェントを一時的に無効にする必要がある場合に役立ちます。この設定は、エージェントによってそのインストゥルメンテーションのブートストラップや、すべての要素の設定が行われることを防止し、これによりエージェントが起動しNew Relicのサーバーに接続することを阻止できます。

allow_all_headers

trueの場合、excludeルールでフィルタリングされたものを除いて、すべてのHTTPヘッダーの取得を有効にします。falseの場合、収集されたヘッダーはNode.jsエージェントの属性で定義されたものに制限されます。

種類 ブール値
デフォルト false

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

apdex_t (非推奨)
種類 数値
デフォルト 0.100
サーバーサイドラベル Apdex T

Apdex TはNew Relic UIを介して設定できます。

certificates
種類 文字列の配列
デフォルト (なし)

PEM形式で文字列の配列として指定される、SSL接続に対する追加の信用証明書。これは、HTTPSプロキシとNew Relicへの両方の接続に影響します。

また次のようにファイルから証明書を読み込むようにエージェントを設定できます。

certificates: [ fs.readFileSync('myca.crt', {encoding: 'utf8'}) ]
high_security
種類 ブール値
デフォルト false
環境変数 NEW_RELIC_HIGH_SECURITY

trueに設定している場合、高セキュリティv2を有効にします。またssl設定を有効化し、かつUIで高セキュリティを有効化する必要があります。

host
種類 文字列
デフォルト collector.newrelic.com
環境変数 NEW_RELIC_HOST

この値は、New Relic Supportから変更を依頼されない限り編集しないでください。

インターネットに接続するためのNew Relicコレクターのホスト名。例:host: 'collector.newrelic.com'

labels

ラベルとカテゴリーを使用してアプリケーションを整理します。ラベルをオブジェクトとして、またはセミコロン区切りの文字列のコロンで分けられたペアとして指定します (例:Server:One;Data Center:Primary)。

種類 オブジェクトまたは文字列
デフォルト (なし)
環境変数 NEW_RELIC_LABELS
port
種類 整数
デフォルト 443
環境変数 NEW_RELIC_PORT

この値は、New Relic Supportから変更を依頼されない限り編集しないでください。

New Relicコレクターに接続するためのポート番号。例:port: 443

proxy
種類 文字列
デフォルト (なし)
環境変数 NEW_RELIC_PROXY_URL

インターネットに接続するためのプロキシサーバーを指定するURL。例:proxy: 'http://user:pass@10.0.0.1:8000/'

proxy設定ファイルの設定は、その他の設定ファイルのプロキシ設定 (proxy_hostproxy_portproxy_userproxy_pass) が使用される場合はそれらに優先します。同様に、NEW_RELIC_PROXY_URL環境変数の設定は、その他の環境変数のプロキシ設定 (NEW_RELIC_PROXY_HOSTNEW_RELIC_PROXY_PORTNEW_RELIC_PROXY_USERNEW_RELIC_PROXY_PASS) が使用される場合はそれらに優先します。

proxy_host
種類 文字列
デフォルト (なし)
環境変数 NEW_RELIC_PROXY_HOST

インターネットに接続するためのプロキシサーバーのホスト名またはIPアドレス。

proxy_pass
種類 文字列
デフォルト (なし)
環境変数 NEW_RELIC_PROXY_PASS

プロキシサーバーに対する認証用パスワード。エージェントはHTTP BASIC認証のみサポートします。

proxy_port
種類 文字列
デフォルト (なし)
環境変数 NEW_RELIC_PROXY_PORT

インターネットに接続するためのプロキシサーバーのポート番号。

proxy_user
種類 文字列
デフォルト (なし)
環境変数 NEW_RELIC_PROXY_USER

プロキシサーバーに対する認証用ユーザー名。エージェントはHTTP BASIC認証のみサポートします。

ssl (非推奨)
種類 ブール値
デフォルト true
環境変数 NEW_RELIC_USE_SSL

エージェントはデフォルトでHTTPSを介してNew Relicと通信します。New Relicは、 New Relic APMとNew Relic REST APIへのすべてのトラフィックに対してHTTPSを要求します。有効な場合、エージェントはSSLを使用してNew Relicコレクターに接続します。high_securityを有効にするには、trueに設定する必要があります。

デフォルトで、エージェントは高セキュリティv1に対応します。ただし、sslを無効にし、capture_paramsを有効にした場合、エージェントは高セキュリティモードを終了する可能性があり、そのためエージェントは高セキュリティアカウントと接続できなくなります。高セキュリティモードが失敗した場合、ログファイルにはERROR Account Security Violation (アカウントセキュリティ違反エラー) といったエラーメッセージが表示されます。

変数のロギング

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

enabled
種類 文字列
デフォルト true (serverless_modeではfalse)
環境変数 NEW_RELIC_LOG_ENABLED

エージェントに特異なロギングを有効または無効にします。

level
種類 文字列
デフォルト info
環境変数 NEW_RELIC_LOG_LEVEL

エージェントログに記録される詳細レベルを定義します。最小から最大の詳細レベルの順で取りうる値は、fatalerrorwarninfodebugtraceがあります。

debugまたはtraceロギングは、New Relic Supportから使用を依頼されない限り、使用しないでください。これらのロギングレベルでは、過剰なオーバーヘッドが発生する可能性があります。ほとんどの場合はinfoを使用してください。

filepath
種類 文字列
デフォルト process.cwd()newrelic_agent.log
環境変数 NEW_RELIC_LOG

ファイル名を含めたNew Relicエージェントログへのフルパスです。デフォルト値は、filepath: require('path').join(process.cwd(), 'newrelic_agent.log')。エージェントは、このファイルを作成できない場合プロセスを終了します。エージェントは、Node.jsエージェントプロセスの場合と同じアクセス権でログファイルを作成します。

  • すべてのロギングをstdoutに書き込むには、これをstdoutに設定します。
  • すべてのロギングをstderrに書き込むには、これをstderrに設定します。

監査ログ

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

enabled
種類 ブール値
デフォルト false
環境変数 NEW_RELIC_AUDIT_LOG_ENABLED

有効な場合、エージェントはコレクターに送信するペイロードをログします。このデータは、ロギングレベルが最小レベルに設定されている場合でも、メインログファイルに含まれます。

endpoints
種類 配列
デフォルト 空の配列 (すべてのタイプを含む)
環境変数 NEW_RELIC_AUDIT_LOG_ENDPOINTS

エージェントは、さまざまなタイプのデータを個別のペイロード内のコレクターに送信します。デフォルトでは、これらすべてがログファイルに含まれています。このオプションでは、ロギングを特定のデータタイプに制限することができます。

有効な値には、次が含まれます:

  • agent_settings
  • analytic_event_data
  • connect
  • custom_event_data
  • error_data
  • error_event_data
  • metric_data
  • preconnect
  • shutdown
  • span_event_data
  • sql_trace_data
  • transaction_sample_data

APIの設定

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

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

custom_attributes_enabled
種類 ブール値
デフォルト true
環境変数

NEW_RELIC_API_CUSTOM_ATTRIBUTES

このオプションは、newrelic.addCustomAttributenewrelic.addCustomAttributesを有効にします。

custom_events_enabled
種類 ブール値
デフォルト true
環境変数 NEW_RELIC_API_CUSTOM_EVENTS

このオプションは、recordCustomEventを有効にします。

notice_error_enabled
種類 ブール値
デフォルト true
環境変数 NEW_RELIC_API_NOTICE_ERROR

このオプションは、newrelic.noticeErrorを有効にします。

属性

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

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

enabled
種類 ブール値
デフォルト true
環境変数 NEW_RELIC_ATTRIBUTES_ENABLED

trueの場合、すべての宛先に対して属性の取得を有効にします。

exclude
種類 配列
デフォルト []
環境変数 NEW_RELIC_ATTRIBUTES_EXCLUDE

すべての宛先から除外する属性のプレフィックス。末尾に*をワイルドカードとして使用可能。

include
種類 配列
デフォルト []
環境変数 NEW_RELIC_ATTRIBUTES_INCLUDE

すべての宛先に追加する属性のプレフィックス。末尾に*をワイルドカードとして使用可能。

include_enabled
種類 ブール値
デフォルト true
環境変数 NEW_RELIC_ATTRIBUTES_INCLUDE_ENABLED

trueの場合、パターンはattributes.includeリストに追加される場合があります。

エラーコレクター変数

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

enabled
種類 ブール値
デフォルト true
環境変数 NEW_RELIC_ERROR_COLLECTOR_ENABLED
サーバーサイドラベル Enable error collection?

有効な場合、エージェントはアプリケーションからエラートレースを収集します。

ignore_status_codes
種類 配列
デフォルト 404
環境変数 NEW_RELIC_ERROR_COLLECTOR_IGNORE_ERROR_CODES
サーバーサイドラベル Ignore these status codes

エラーコレクターが無視するカンマ区切りのHTTPステータスコードリスト。

newrelic.noticeErrorを使用して記録されたエラーはこの設定値に従いません。

ignore_classes
種類 配列|オブジェクト
デフォルト []
環境変数 NEW_RELIC_ERROR_COLLECTOR_IGNORE_ERRORS

エラーコレクターが無視すべきjavascriptエラータイプ//クラスのカンマ区切りリスト。

以下の設定:

    /* ... */
    error_collector: {
        ignore_classes: ["ReferenceError"]
    }    
    /* ... */

すべての参照エラーを無視します。

newrelic.noticeErrorを使用して記録されたエラーはこの設定値に従いません。

ignore_messages
種類 オブジェクト
デフォルト {}

javascriptオブジェクト。コレクターが無視すべきjavascriptエラーメッセージに関連したjavascriptクラスリストを説明します。以下の設定。

    /* ... */
    error_collector: {
        /* ... */
        ignore_messages: {"Error":["Undefined"],"Error":["Out of time"]}
        /* ... */
    }    
    /* ... */

未定義および時間切れと全く同じ(大文字と小文字を区別)メッセージ文字列を持つタイプErrorのエラーをすべて無視します。

newrelic.noticeErrorを使用して記録されたエラーはこの設定値に従いません。

expected_status_codes
種類 配列
デフォルト []
環境変数 NEW_RELIC_ERROR_COLLECTOR_EXPECTED_ERROR_CODES

エラーコレクターが予想済みとしてマークする、カンマ区切りのHTTPステータスコードリスト。

newrelic.noticeErrorを使用して記録されたエラーはこの設定値に従いません。

expected_classes
種類 配列
デフォルト []
環境変数 NEW_RELIC_ERROR_COLLECTOR_EXPECTED_ERRORS

以下の設定:

    /* ... */
    error_collector: {
        expected_classes: ["ReferenceError"]
    }    
    /* ... */

すべての参照エラーを予想済みとしてマークします。

newrelic.noticeErrorを使用して記録されたエラーはこの設定値に従いません。

expected_messages
種類 オブジェクト
デフォルト {}

javascriptオブジェクト。コレクターが無視すべきjavascriptエラーメッセージに関連したjavascriptクラスリストを説明します。以下の設定。

    /* ... */
    error_collector: {
        /* ... */
        expected_messages: {"Error":["Undefined"],"Error":["Out of time"]}
        /* ... */
    }    
    /* ... */

未定義および時間切れと全く同じ(大文字と小文字を区別)メッセージ文字列を持つタイプErrorのすべてのエラーに印を付けます。

newrelic.noticeErrorを使用して記録されたエラーはこの設定値に従いません。

attributes.enabled
種類 ブール値
デフォルト true
環境変数 NEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_ENABLED

trueの場合、エージェントはエラーコレクションから属性を取得します。

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

attributes.exclude
種類 配列
デフォルト []
環境変数 NEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_EXCLUDE

エラーコレクションから除外する属性のプレフィックス。末尾に*をワイルドカードとして使用可能。

attributes.include
種類 配列
デフォルト []
環境変数 NEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_INCLUDE

エラーコレクションに追加する属性のプレフィックス。末尾に*をワイルドカードとして使用可能。

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

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

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

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

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

enabled
種類 ブール値
デフォルト true
環境変数 NEW_RELIC_TRACER_ENABLED
サーバーサイドラベル Enable transaction tracing?

有効な場合、エージェントは遅いトランザクショントレースを収集します。

explain_threshold
種類 整数
デフォルト 500
環境変数 NEW_RELIC_EXPLAIN_THRESHOLD

トランザクションを遅いクエリトランザクショントレースの対象とするのに必要な最小クエリ時間 (ミリ秒単位)。

record_sql
種類 文字列 (offobfuscated、またはraw)
デフォルト off
環境変数 NEW_RELIC_RECORD_SQL

このオプションは、トランザクショントレースの遅いクエリrecord_sqlの両方に影響します。次の3つの値のいずれかにすることができまです:offobfuscatedraw

offに設定されている場合、遅いクエリは取得されません。また、バックトレースとSQLはトランザクショントレースに含まれません。rawまたはobfuscatedに設定されている場合、エージェントは生のSQLまたは難読化されたSQLと遅いクエリのサンプルをコレクターに送信します。またエージェントは、その他の条件が満たされている場合 (slow_sql.enabledが設定されているなど)、SQLを送信することがあります。

top_n
種類 整数
デフォルト 20
環境変数 NEW_RELIC_TRACER_TOP_N

トランザクショントレースに適したリクエストの最大数を定義。

トランザクションはリクエストに基づき命名され、top_nはこうした名前でグループ化された、「最も遅いトランザクションの上位n」を意味します。モジュールが記録済みのトレースを新規トレースと置き換えるのは、新規トレースがその名前の過去のトレースの最も遅いものよりも遅い場合のみとなります。この設定のデフォルト値はtop_n: 20です。これは、トランザクションページもまた、最も遅い20のトランザクションをデフォルトとするためです。

Node.jsエージェントは、起動後の最初の収集サイクルにおいて、少なくとも5つの異なる遅いトランザクションをキャプチャーします。また、過去の5つの収集サイクルにおいて遅いトランザクションがキャプチャーされなかった場合は、リセットしてから別のトランザクションをキャプチャーします。こうして、自社のアプリのリクエストパスに関して、その収集サイクルで絶対的に遅いリクエストに注目することなく詳細を確認できるようになります。

過去1分間において絶対的に遅いトランザクションを記録するには、設定をtop_n: 0またはtop_n: 1にします。ただし、これによって、非常に遅いルートがトランザクショントレースを支配することになります。

transaction_threshold
種類 整数またはapdex_f
デフォルト apdex_f
環境変数 NEW_RELIC_TRACER_THRESHOLD
サーバーサイドラベル Threshold

トランザクショントランザクショントレースの資格を持つことになる、Webトランザクションレスポンスタイムの閾値(秒数)デフォルト値はapdex_fです。これによって、トレースの閾値はご利用のアプリケーションのApdex Tの4倍に設定されます。また、具体的な値をミリ秒単位で入力することもできます。

例: 閾値をapdex_fに設定

apdex_tのデフォルト値は100ミリ秒です。トランザクション閾値をapdex_fに設定した場合、「遅い」トランザクションは400ミリ秒になります。

hide_internals
種類 boolean
デフォルト true
環境変数 NEW_RELIC_HIDE_INTERNALS

このエージェントは、少量のCPUを使用することで、Webアプリケーションに添付された内部プロパティを隠します。この設定をfalseに変更した場合、エージェントのオーバーヘッドを若干減少させる場合がありますが、エージェントのパフォーマンスにも作用する可能性があります。

attributes.enabled
種類 ブール値
デフォルト true
環境変数 NEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_ENABLED

trueに設定されていると、エージェントはトランザクショントレースの属性をキャプチャーします。

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

attributes.exclude
種類 配列
デフォルト []
環境変数 NEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_EXCLUDE

トランザクショントレースから除外する属性の接頭辞。末尾に*をワイルドカードとして使用可能。

attributes.include
種類 配列
デフォルト []
環境変数 NEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_INCLUDE

トランザクショントレースに含める属性の接頭辞。末尾に*をワイルドカードとして使用可能。

ルールの変数

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

name
種類 文字列または正規表現
デフォルト (なし)
環境変数 NEW_RELIC_NAMING_RULES

受信するリクエストのURLを合致させ、関連のNew Relicトランザクションを命名するためのカンマ区切りルール一覧。次の形式を使用します:

	name: [
	{pattern: 'STRING_OR_REGEX', name: 'NAME'},

	{pattern: 'STRING_OR_REGEX', name: 'NAME'}

	],

両方のパラメーターが必要。文字列に関しては、制御文字をエスケープしなくてはいけません。正規表現では、制御文字をエスケープする必要はありません。追加属性は無視されます。

正規表現はJavaScript式のキャプチャーグループに対応しており、名前は$1式の置換文字列を使用します。正規表現は、最初にマッチする結果のみを見つけ、それ以降のマッチは無視します。詳しくはNode.jsトランザクションによるAPIの命名を参照してください。

NEW_RELIC_NAMING_RULES環境の変数に関しては、ルールをカンマ区切りのJSONオブジェクトリテラルとして渡します:

NEW_RELIC_NAMING_RULES='{"pattern":"^t","name":"u"},{"pattern":"^u","name":"t"}'
ignore
種類 文字列または正規表現
デフォルト

socket.ioロングポーリングリクエストにマッチさせる正規表現("^\/socket\.io\/.*\/xhr-polling/")。

環境変数 NEW_RELIC_IGNORING_RULES

エージェントに無視してほしいリクエストURLの一覧を定義。一覧をパターンとして指定します。文字列または正規表現が可能です。

enforce_backstop
種類 ブール値
デフォルト true
環境変数 NEW_RELIC_ENFORCE_BACKSTOP

メトリックのグループ化問題を理解できる場合を除いて、この設定は変更しないでください。

これを有効にすると、エージェントは他の命名ロジックの影響を受けないトランザクション(API、ルール、またはメトリック正規化ルールなど)の名前をNormalizedUri/*に変更します。これをfalseに設定すると、エージェントはトランザクション名をUri/path/to/resourceに変更します。

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

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

enabled
種類 ブール値
デフォルト true

これを有効にすると、エージェントがトランザクションイベントをNew Relicに送信します。このイベントのデータには、トランザクションのタイミング、トランザクション名、またあらゆるカスタムパラメーターが含まれます。これが無効になると、エージェントはこうしたデータを収集せず、New Relicに送信することもありません。

max_samples_stored
種類 整数
デフォルト 10000

エージェントが1分あたりに収集するイベントの最大数。この数を超える場合、エージェントは統計的サンプリングを収集します。

10kを超える設定は推奨されません。サーバーによって1分あたりのデータの上限は10kに制限されることになります。

6.0.0未満のエージェントバージョンの場合、この設定による挙動は異なります。エージェントバージョン5.x以下の場合、max_samples_stored (DEPRECATED)を参照してください。

max_samples_stored(廃止予定)
種類 整数
デフォルト 20000

エージェントがNew Relicコレクターと通信できない場合に保管する最大イベント数を定義。以前の収集サイクルの値は新しいサンプリングにマージされ、このオプションは最大数を制限します。必ず、この数がmax_samples_per_minuteよりも大きいことを確認してください。たとえば、倍の数に設定しましょう。この値を増やす前に、メモリオーバーヘッドを考慮してください。

エージェントバージョン6.0.0および新規の推奨最大値で始まる場合、この設定による挙動は異なります。バージョン6.x以上の場合、max_samples_storedを参照してください。

max_samples_per_minute (廃止予定)
種類 整数
デフォルト 10000

エージェントが1分あたりに収集するイベントの最大数。この数を超える場合、エージェントは統計的サンプリングを収集します。

エージェントバージョン6.0.0から始まる場合、この設定はmax_samples_storedに置き換えられます。6.x以降のエージェントの場合、max_samples_storedを参照してください。

attributes.enabled
種類 ブール値
デフォルト true
環境変数 NEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_ENABLED

trueに設定されていると、エージェントはトランザクションイベントの属性をキャプチャーします。

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

attributes.exclude
種類 配列
デフォルト []
環境変数 NEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_EXCLUDE

トランザクションイベントから除外する属性の接頭辞。末尾に*をワイルドカードとして使用可能。

attributes.include
種類 配列
デフォルト []
環境変数 NEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_INCLUDE

トランザクションイベントに含める属性の接頭辞。末尾に*をワイルドカードとして使用可能。

ブラウザモニターの変数

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

enable
種類 ブール値
デフォルト true
環境変数 NEW_RELIC_BROWSER_MONITOR_ENABLE
サーバーサイドラベル Enable browser monitoring?

BrowserインストゥルメンテーションのJavaScriptヘッダーを生成します。このデフェルト設定はtrueであるものの、Browserモニタリングを有効にしない限り、エージェントはBrowser JSコードのインジェクションを行いません。この値をfalseに設定することで、New Relic Browserを有効にしてブラウザタイミングヘッダーを追加した場合でも、アプリケーションのBrowserモニタリングを無効にできます。

debug
種類 ブール値
デフォルト false
環境変数 NEW_RELIC_BROWSER_MONITOR_DEBUG

trueの場合、サーバーからミニファイされていないソースをリクエストします。

attributes.enabled
種類 ブール値
デフォルト false
環境変数 NEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_ENABLED

trueの場合、エージェントはBrowserモニタリングにカスタム属性を送信します。

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

attributes.exclude
種類 配列
デフォルト []
環境変数 NEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_EXCLUDE

ブラウザ監視から除外する属性の接頭辞。末尾に*をワイルドカードとして使用可能。

attributes.include
種類 配列
デフォルト []
環境変数 NEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_INCLUDE

ブラウザ監視に含める属性の接頭辞。末尾に*をワイルドカードとして使用可能。

カスタムイベント変数

このセクションは、ご利用のアプリケーションのnewrelic.js設定ファイルのcustom_insights_events: {セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。現時点では、カスタムイベントに関する環境変数はありません。

enabled
種類 ブール値
デフォルト true

これを有効にすると、エージェントはrecordCustomEvent()で記録したカスタムイベントをNew Relicに送信します。これが無効になると、エージェントはこうしたデータを収集せず、New Relicに送信することもありません。

max_samples_stored
種類 整数
デフォルト 1000

エージェントが1分あたりに収集するカスタムイベントの最大数を定義。カスタムイベント数がこの上限を超えた場合、エージェントは統計的サンプリングを収集します。

この上限を増やすと、メモリ使用率が増大します。

スロークエリ変数

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

enabled
種類 ブール値
デフォルト false
環境変数 NEW_RELIC_SLOW_SQL_ENABLED

これを有効にすると、エージェントはスロークエリの詳細を収集します。

max_samples
種類 整数
デフォルト 10
環境変数 NEW_RELIC_MAX_SQL_SAMPLES

エージェントが1分あたりに収集するスロークエリの最大数を定義。エージェントは、上限に達した後の追加のクエリを破棄します。

この上限を増やすと、メモリ使用率が増大します。

カスタムホスト名変数

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

display_name
種類 255バイト以下の文字列
デフォルト (なし)
環境変数 NEW_RELIC_PROCESS_HOST_DISPLAY_NAME

New Relicで表示するカスタムホスト名を指定。このフィールドを設定しない場合、New Relicはos.hostname()をコールして得られるデフォルトのホスト名を引き続き使用します。

  • デフォルトのホスト名設定を使用した場合、New Relicはos.hostname()を通じてホスト名を探します。
  • このコールが失敗した場合、New RelicはホストのIPを名前に使用します。
  • ipv_preference: 4もしくはipv_preference: 6を設定した場合、New Relic UIに表示されるIPアドレスの種類(IPv4もしくはIPv6)を選択できます。
ipv_preference
種類 整数(4もしくは6
デフォルト 4
環境変数 NEW_RELIC_IPV_PREFERENCE

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

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

NEW_RELIC_HOME

newrelic.jsを含むディレクトリへのパス。これは、環境変数としてのみ利用できます。ご自分の設定ファイルで設定することはできません。

種類 文字列
デフォルト (なし)
NEW_RELIC_NO_CONFIG_FILE
使用した場合、エージェントがnewrelic.jsから構成設定を読み取ることができなくなります。デフォルト値と環境変数の値は引き続き設定されます。

これは、環境変数としてのみ利用できます。ご自分の設定ファイルで設定することはできません。

種類 ブール値
デフォルト False

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

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

instance_reporting.enabled
種類 ブール値
デフォルト true

これを有効にすると、エージェントは一部のデータベースドライバ向けデータストアインスタンスのメトリクス(ホストとポートなど)を収集します。これらは、スロークエリトレースとトランザクショントレースで報告されます。

database_name_reporting.enabled
種類 ブール値
デフォルト true

これを有効にすると、エージェントは一部のデータベースドライバ向けスロークエリトレースとトランザクショントレースのデータベース名を収集します。

クロスアプリケーショントレーシング

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

enabled
種類 ブール値
デフォルト true

trueに設定すると、New Relicが監視する複数のアプリケーションをまたいだトランザクションをトレースします。

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

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

enabled
種類 ブール値
デフォルト true
環境変数 NEW_RELIC_ALLOW_RAW_EXCEPTION_MESSAGES_ENABLED

falseである場合、エージェントはキャプチャーしたエラーメッセージを編集します。

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

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

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

ディストリビューティッド(分散)トレーシングが有効になっているときは、スパンイベントを収集することができます。

enabled
種類 ブール値
デフォルト false
環境変数 NEW_RELIC_DISTRIBUTED_TRACING_ENABLED

ディストリビューティッドトレーシングを有効にするには、これをtrueに設定します。

たとえば、設定ファイルでこれを有効にするには、次のものを使用します:

distributed_tracing: {
   enabled: true
}
exclude_newrelic_header
種類 ブール値
デフォルト false

アウトバウンドリクエストに添付されたNew Relicヘッダーを除外するには、これをtrueに設定し、ディストリビューティッド(分散)トレーシング用のトレースコンテキストヘッダーにのみ依存します。これがfalseの場合、両方のタイプのヘッダーを使用します。

たとえば、設定ファイルでこれを有効にするには、次のものを使用します:

distributed_tracing:{
   enabled: true,
   exclude_newrelic_header: true
}

スパンイベント

スパンイベントディストリビューティッド(分散)トレーシングに関してレポートされます。スパンイベントをレポートするには、ディストリビューティッド(分散)トレーシングが有効になっていなければなりません。スパン設定はspan_eventsスタンザに設定されます。オプションに含まれるもの:

enabled
種類 ブール値
デフォルト true
環境変数 NEW_RELIC_SPAN_EVENTS_ENABLED

スパンイベントのレポートをオンまたはオフにする。

attributes.enabled
種類 ブール値
デフォルト true
環境変数 NEW_RELIC_SPAN_EVENTS_ATTRIBUTES_ENABLED

この設定は、スパンイベントの属性レポートをオンまたはオフにするのに使用することができます。ルートレベルでattributes.enabledfalseである場合は、この設定にかかわらず、属性がスパンイベントに送られることはありません。

attributes.include
種類 配列
デフォルト []
環境変数 NEW_RELIC_SPAN_EVENTS_ATTRIBUTES_INCLUDE

属性がスパンイベントに関して有効になっている場合は、このリストにあるすべての属性キーがスパンイベントに添付されます。詳しくはエージェント属性ルールを参照してください。

attributes.exclude
種類 配列
デフォルト []
環境変数 NEW_RELIC_SPAN_EVENTS_ATTRIBUTES_EXCLUDE

このリストにある属性キーのいずれも、スパンイベントと一緒に送られることはありません。詳しくはエージェント属性ルールを参照してください。

Infinite Tracing

Infinite Tracing をオンにするには、ディストリビューティッド(分散)トレーシングを有効にして(distributed_tracing enabled:true に設定)、以下の追加設定を加えます。例えば、「言語エージェント:ディストリビューティッド(分散)トレーシングを構成する」をご覧ください。

trace_observer.host
種類 文字列
デフォルト (none)
環境変数 NEW_RELIC_INFINITE_TRACING_TRACE_OBSERVER_HOST

Infinite Tracing トレース オブザーバーのホストエントリを取得する方法については、「トレースオブザーバーのエンドポイントを検索または作成する」をご覧ください。

その他のヘルプ

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