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 configuration hierarchy: サーバーサイドコンフィグレーション設定は環境変数に優先します。環境変数はエージェント設定ファイルに優先します。設定ファイルはエージェントのデフォルト設定に優先します。
各設定方法の詳細な説明は、以下のとおりです。
エージェント設定ファイル 設定ファイル (newrelic.js
) には、すべてのNode.jsエージェント設定が含まれています。Node.jsエージェントをインストール する際、newrelic.js
をアプリケーションのルートディレクトリにコピーする必要があります。ほとんどの設定のデフォルト値は空で、config/default.js
からの値を継承します。
アプリケーションがCommonJSで実行されている場合は、単純に設定ファイルタイプを(newrelic.cjs
)に変更します。このファイルタイプは、Node.jsエージェントのv7.5.0 でサポートされています。
環境変数 newrelic.js
のすべてのコンフィグレーション設定には同等の環境変数があります。これらは、PaaS環境(Heroku、Microsoft Azureなど)でエージェントを実行する場合に役立ちます。Node.jsエージェントの環境変数は常にNEW_RELIC_
で始まります。
これらの環境変数は、以下の各構成オプションの下にEnviron variable として文書化されています。 環境変数を介してのみ構成できる 、ほとんど使用されることがない2つの設定があります。より複雑なタイプを環境変数として指定する方法がわからない場合は、リファレンスガイド を使用してください。
New Relic CodeStreamを使用してIDEからパフォーマンスを監視する場合は、リポジトリをサービスに関連付け 、ビルドSHAまたはリリースタグをエラーに関連付ける 必要があります。
サーバーサイドコンフィグレーション 所有者と管理者は、直接New Relic でいくつかの設定を表示、設定することができます。利用可能な場合、サーバーサイドコンフィグレーション用のUIラベルは、このドキュメントの個々の設定オプションの下にServer-side label としてリストアップされています。
エクスポート変数 本セクションは、ご利用のアプリケーションのnewrelic.js
設定ファイルのexports.config = {
セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。
app_name(必須) タイプ
文字列
デフォルト
"My Application"
環境変数
NEW_RELIC_APP_NAME
New Relicがアプリケーションを識別するのに使用する名前 。例、app_name: ['MyNodeApp']
。アプリケーションに複数の名前を使用する には、カンマ区切りの名前リストを指定します。
同じ名前のすべてのアプリケーションのデータはNew Relic UIにマージされるため、この設定は慎重に行ってください。混同や非意図的なデータの集計を避けるために、デフォルト名を分かりやすい名前に置き換えることをhighly recommend しています。
ヒント 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のサーバーに接続することを阻止できます。
true
の場合、exclude
ルールでフィルタリングされたものを除いて、すべてのHTTPヘッダーの取得を有効にします。false
の場合、収集されたヘッダーはNode.jsエージェントの属性 で定義されたものに制限されます。
タイプ
ブール値
デフォルト
false
環境変数
NEW_RELIC_ALLOW_ALL_HEADERS
注意 すべてのヘッダー関連の追加/除外ルールは、フィルタリング用にキャメルケース形式にする必要があります。
compressed_content_encoding ペイロードでデータ圧縮閾値に達すると、エージェントはデフォルトでgzip圧縮を使用してデータを圧縮します。設定オプションcompressed_content_encoding
をdeflate
に設定すると、DEFLATE圧縮を使用できます。
タイプ
文字列
デフォルト
gzip
環境変数
NEW_RELIC_COMPRESSED_CONTENT_ENCODING
certificates タイプ
文字列の配列
デフォルト
[]
環境変数
NEW_RELIC_CERTIFICATES
PEM形式で文字列の配列として指定される、SSL接続に対する追加の信用証明書。これは、HTTPSプロキシとNew Relicへの両方の接続に影響します。
ヒント また次のようにファイルから証明書を読み込むようにエージェントを設定できます。
certificates : [ fs . readFileSync ( 'myca.crt' , { encoding : 'utf8' } ) ]
ホスト タイプ
文字列
デフォルト
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_host
、proxy_port
、proxy_user
、proxy_pass
)が上書きされます。同様に、NEW_RELIC_PROXY_URL
環境変数を使用すると、他の環境変数プロキシ設定(NEW_RELIC_PROXY_HOST
、NEW_RELIC_PROXY_PORT``NEW_RELIC_PROXY_USER
、NEW_RELIC_PROXY_PASS
)が上書きされます。Infinite Tracing を使用している場合:Infinite Tracingのプロキシを設定する方法を参照してください 。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認証のみサポートします。
変数のロギング 本セクションは、ご利用のアプリケーションのnewrelic.js
設定ファイルのlogging: {
セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。
enabled タイプ
文字列
デフォルト
true
(serverless_mode
のfalse
)
環境変数
NEW_RELIC_LOG_ENABLED
エージェントに特異なロギングを有効または無効にします。
level タイプ
文字列
デフォルト
info
環境変数
NEW_RELIC_LOG_LEVEL
エージェントログに記録される詳細レベルを定義します。最小から最大の詳細レベルの順で取りうる値は、fatal
、error
、warn
、info
、debug
、trace
があります。
注意 debug
またはtrace
ロギングは、New Relic Supportから使用を依頼されない限り、使用しないでください。これらのロギングレベルでは、過剰なオーバーヘッドが発生する可能性があります。ほとんどの場合はinfo
を使用してください。
filepath タイプ
文字列
デフォルト
process.cwd()
plus newrelic_agent.log
環境変数
NEW_RELIC_LOG
ファイル名を含めたNew Relicエージェントログへのフルパスです。デフォルトはfilepath: require('path').join(process.cwd(), 'newrelic_agent.log')
件です。エージェントは、このファイルを作成できない場合、プロセスを終了します。エージェントは、Node.jsエージェントプロセスの場合と同じアクセス権でログファイルを作成します。
すべてのロギングをstdout に書き込むには、これをstdout
に設定します。 すべてのロギングをstderr に書き込むには、これをstderr
に設定します。 AIモニタリング このセクションには、AIモニタリングを設定するためのNode.jsエージェント設定が含まれます。
重要 AIデータをキャプチャするには、ディストリビューティッド(分散)トレーシング を有効化する必要があります。 Node.jsエージェント8.3.0以降では、デフォルトで有効になっています。 高セキュリティモードを有効にしている場合、AIモニタリングは機能しません。
ai_monitoring.enabled タイプ
ブール値
デフォルト
false
環境変数
NEW_RELIC_AI_MONITORING_ENABLED
true
に設定すると、AIモニタリングが有効化されます。 エージェントがLLMイベントデータをキャプチャできるようにします。
ai_monitoring.streaming.enabled タイプ
ブール値
デフォルト
true
環境変数
NEW_RELIC_AI_MONITORING_STREAMING_ENABLED
false
に設定すると、ストリーミングされたLLMデータのインストゥルメンテーションが無効化されます。 true
に設定すると、LLMイベントのストリーミングデータがキャプチャされます。
ai_monitoring.record_content.enabled タイプ
ブール値
デフォルト
true
環境変数
NEW_RELIC_AI_MONITORING_RECORD_CONTENT_ENABLED
false
に設定すると、エージェントはLLMイベントでキャプチャされた入力および出力コンテンツ(プロンプトやレスポンスのテキスト文字列など)を省略します。 これは、LLMとの間で送受信される機密データを記録したくない場合のオプションのセキュリティ設定です。
監査ログ 本セクションは、ご利用のアプリケーションの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 属性 このセクションでは、お使いのアプリケーションのnewrelic.js
設定ファイルのattributes: {
セクションに通常表示される順序で、Node.jsエージェント属性 の変数を定義します。
注意 すべてのヘッダー関連の追加/除外ルールは、フィルタリング用にキャメルケース形式にする必要があります。
enabled タイプ
ブール値
デフォルト
true
環境変数
NEW_RELIC_ATTRIBUTES_ENABLED
true
の場合、すべての宛先に対して属性の取得を有効にします。
exclude タイプ
配列
デフォルト
[]
環境変数
NEW_RELIC_ATTRIBUTES_EXCLUDE
すべての宛先から除外する属性のプレフィックス。末尾に*
をワイルドカードとして使用可能。
include タイプ
配列
デフォルト
[]
環境変数
NEW_RELIC_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ステータスコードリスト。
ignore_classes タイプ
配列|オブジェクト
デフォルト
[]
環境変数
NEW_RELIC_ERROR_COLLECTOR_IGNORE_ERRORS
エラーコレクターが無視すべきjavascriptエラータイプ//クラスのカンマ区切りリスト。
以下の設定:
ignore_classes : [ "ReferenceError" ]
すべての参照エラーを無視します。
ignore_messages タイプ
オブジェクト
デフォルト
{}
環境変数
NEW_RELIC_ERROR_COLLECTOR_IGNORE_MESSAGES
コレクターが無視すべきエラーメッセージに関連したクラスリストを説明するJavaScriptオブジェクト。次の設定では、Undefined
およびOut of time
と全く同じ (大文字と小文字を区別) メッセージ文字列を持つタイプError
のエラーをすべて無視します。
ignore_messages : { "Error" : [ "Undefined" , "Out of time" ] }
Undefined
およびOut of time
と全く同じ(大文字と小文字を区別)メッセージ文字列を持つタイプError
のエラーをすべて無視します。
expected_status_codes タイプ
整数の配列
デフォルト
[]
環境変数
NEW_RELIC_ERROR_COLLECTOR_EXPECTED_ERROR_CODES
エラーコレクターが予想済みとしてマークする、カンマ区切りのHTTPステータスコードリスト。
expected_classes タイプ
配列
デフォルト
[]
環境変数
NEW_RELIC_ERROR_COLLECTOR_EXPECTED_ERRORS
以下の設定:
expected_classes : [ "ReferenceError" ]
すべての参照エラーを予想済みとしてマークします。
expected_messages タイプ
オブジェクト
デフォルト
{}
環境変数
NEW_RELIC_ERROR_COLLECTOR_EXPECTED_MESSAGES
javascriptオブジェクト。コレクターが無視すべきjavascriptエラーメッセージに関連したjavascriptクラスリストを説明します。以下の設定。
expected_messages : { "Error" : [ "Undefined" , "Out of time" ] }
Undefined
およびOut of time
と全く同じ(大文字と小文字を区別)メッセージ文字列を持つタイプError
のすべてのエラーに印をつけます。
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
エラーコレクションに追加する属性のプレフィックス。末尾に*
をワイルドカードとして使用可能。
max_event_samples_stored タイプ
整数
デフォルト
100
環境変数
NEW_RELIC_ERROR_COLLECTOR_MAX_EVENT_SAMPLES_STORED
エージェントが1分あたりに収集するイベントの最大数。この数を超える場合、エージェントは統計的サンプリングを収集します。
トランザクショントレーサーの変数 エージェントは、次の目的に、リクエストをトランザクション に分類します。
アプリケーションが時間を費やしている場所を可視化します(トランザクションの内訳)。 遅いリクエストを特定します。 メトリクスをグループ化します。 遅いデータベースパフォーマンス など、他の問題を切り分けます。 本セクションは、ご利用のアプリケーションのnewrelic.js
設定ファイルのtransaction_tracer: {
セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。
重要 トランザクション名の末尾に角括弧[suffix]
を使わないでください。New Relicは名前から自動的に角括弧を除去します。代わりに、必要に応じて丸括弧(suffix)
、またはその他の記号を使ってください。
record_sql タイプ
文字列(obfuscated
、off
、またはraw
)
デフォルト
obfuscated
環境変数
NEW_RELIC_RECORD_SQL
このオプションは、トランザクショントレースのスロークエリ とrecord_sql
の両方に影響します。これらの値(off
、obfuscated
、またはraw
)のいずれかを指定できます。
off
に設定されている場合、スロークエリは取得されません。また、バックトレースとSQLはトランザクショントレースに含まれません。raw
またはobfuscated
に設定されている場合、エージェントは生のSQLまたは難読化されたSQLとスロークエリのサンプルをコレクター に送信します。またエージェントは、その他の条件が満たされている場合(slow_sql.enabled
が設定されているなど)、SQLを送信することがあります。
top_n タイプ
整数
デフォルト
20
環境変数
NEW_RELIC_TRACER_TOP_N
トランザクショントレース に適したリクエストの最大数を定義。
トランザクションはリクエストに基づいて命名され、top_n
はこうした名前でグループ化された、「上位 n の最も遅いトランザクション」を意味します。モジュールが記録済みのトレースを新規トレースと置き換えるのは、新規トレースがその名前の過去のトレースの最も遅いものよりも遅い場合のみとなります。この設定のデフォルト値はtop_n: 20
です。これは、Transactions ページ もまた、最も遅い20のトランザクションをデフォルトとするためです。
Node.jsエージェントは、起動後の最初の収集サイクルにおいて、少なくとも5つの異なる遅いトランザクションをキャプチャーします。また、過去の5つの収集サイクル において遅いトランザクションがキャプチャーされなかった場合は、リセットしてから別のトランザクションをキャプチャーします。こうして、自社のアプリのリクエストパスに関して、その収集サイクルで絶対的に遅いリクエストに注目することなく詳細を確認できるようになります。
ヒント 過去1分間において絶対的に遅いトランザクションを記録するには、設定をtop_n: 0
またはtop_n: 1
にします。ただし、これによって、非常に遅いルートがトランザクショントレースを支配することになります。
transaction_threshold タイプ
整数または apdex_f
デフォルト
apdex_f
環境変数
NEW_RELIC_TRACER_THRESHOLD
サーバーサイドラベル
Threshold
トランザクショントレース が遅すぎると見なす時間を秒単位で設定します。デフォルト値はapdex_f
です。これによって、トレースの閾値はご利用のアプリケーションのApdex T の4倍に設定されます。数値が指定されている場合は、秒単位で設定されます。
apdex_t
のデフォルト値は500ミリ秒です。トランザクション閾値をapdex_f
に設定した場合、「遅い」トランザクションは2秒になります。
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トランザクションを命名するためのカンマ区切りルール一覧。次の形式を使用します:
{ pattern : 'STRING_OR_REGEX' , name : 'NAME' } ,
{ pattern : 'STRING_OR_REGEX' , name : 'NAME' }
両方のパラメーターが必要。文字列に関しては、制御文字をエスケープしなくてはいけません。正規表現では、制御文字をエスケープする必要はありません。追加属性は無視されます。
正規表現は$1
式のキャプチャーグループに対応しており、名前は$1式の置換文字列を使用します。正規表現は、最初にマッチする結果のみを見つけ、それ以降のマッチは無視します。詳しくはNode.jsトランザクションによるAPIの命名 を参照してください。
NEW_RELIC_NAMING_RULES
環境変数に関しては、ルールをカンマ区切りのJSONオブジェクトリテラルとして渡します。
NEW_RELIC_NAMING_RULES = ' {"pattern":"^t","name":"u"},{"pattern":"^u","name":"t"} '
ignore タイプ
文字列または正規表現
デフォルト
['^/socket.io/.*/xhr-polling/']
環境変数
NEW_RELIC_IGNORING_RULES
エージェントに無視してほしいリクエストURLの一覧を定義。一覧をパターンとして指定します。文字列または正規表現が可能です。デフォルト値は、socket.ioのロングポーリング要求に一致する正規表現です。
enforce_backstop タイプ
ブール値
デフォルト
true
環境変数
NEW_RELIC_ENFORCE_BACKSTOP
これを有効にすると、エージェントは他の命名ロジックの影響を受けないトランザクション(API、ルール、またはメトリック正規化ルールなど)の名前をNormalizedUri/*
に変更します。これをfalse
に設定すると、エージェントはトランザクション名をUri/path/to/resource
に変更します。
トランザクションイベントの変数 本セクションは、ご利用のアプリケーションのnewrelic.js
設定ファイルのtransaction_events: {
セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。
enabled タイプ
ブール値
デフォルト
true
環境変数
NEW_RELIC_TRANSACTION_EVENTS_ENABLED
これを有効にすると、エージェントがトランザクションイベントをNew Relicに送信します。このイベントデータには、トランザクションのタイミング、トランザクション名、任意のカスタムアトリビュートが含まれます。これが無効になると、エージェントはこうしたデータを収集せず、New Relicに送信することもありません。
max_samples_stored タイプ
整数
デフォルト
10000
環境変数
NEW_RELIC_TRANSACTION_EVENTS_MAX_SAMPLES_STORED
エージェントが1分あたりに収集するイベントの最大数。この数を超える場合、エージェントは統計的サンプリングを収集します。
10,000を超える設定は推奨されません。サーバーによって1分あたりのデータの上限は10,000に制限されます。
max_samples_stored(廃止予定) エージェントがNew Relicコレクター と通信できない場合に保管する最大イベント数を定義。以前の収集サイクル の値は新しいサンプリングにマージされ、このオプションは最大数を制限します。必ず、この数がmax_samples_per_minute
よりも大きいことを確認してください。たとえば、倍の数に設定しましょう。この値を増やす前に、メモリオーバーヘッドを考慮してください。
注意 エージェントバージョン6.0.0および新規の推奨最大値で始まる場合、この設定による動作は異なります。エージェントバージョン6.x以降については、max_samples_stored
を参照してください。
max_samples_per_minute (廃止予定) エージェントが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エージェントの変数を定義します。
デバッグ タイプ
ブール値
デフォルト
false
環境変数
NEW_RELIC_BROWSER_MONITOR_DEBUG
true
の場合、サーバーからミニファイされていないソースをリクエストします。
attributes.enabled タイプ
ブール値
デフォルト
false
環境変数
NEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_ENABLED
true
の場合、エージェントはブラウザモニタリングにカスタム属性を送信します。
注意 すべてのヘッダー関連の追加/除外ルールは、フィルタリング用にキャメルケース形式にする必要があります。
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
環境変数
NEW_RELIC_CUSTOM_INSIGHTS_EVENTS_ENABLED
これを有効にすると、エージェントはrecordCustomEvent()
で記録したカスタムイベントをNew Relic に送信します。これが無効になると、エージェントはこうしたデータを収集せず、New Relicに送信することもありません。
max_samples_stored タイプ
整数
デフォルト
3000
環境変数
NEW_RELIC_CUSTOM_INSIGHTS_EVENTS_MAX_SAMPLES_STORED
スロークエリ変数 本セクションは、ご利用のアプリケーションの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エージェントの変数を定義します。こうしたオプションは、APM UIにおけるホストのディスプレイ名に関する動作を制御します。
display_name タイプ
255バイト以下の文字列
デフォルト
(なし)
環境変数
NEW_RELIC_PROCESS_HOST_DISPLAY_NAME
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
データストアトレーサーの変数 本セクションは、ご利用のアプリケーションのnewrelic.js
設定ファイルのdatastore_tracer
セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。こうしたオプションは、データストアインスタンスのメトリクスの収集に関する行動を制御します。
instance_reporting.enabled タイプ
ブール値
デフォルト
true
環境変数
NEW_RELIC_DATASTORE_INSTANCE_REPORTING_ENABLED
これを有効にすると、エージェントは一部のデータベースドライバ 向けデータストアインスタンスのメトリクス(ホストとポートなど)を収集します。これらは、スロークエリトレースとトランザクショントレースで報告されます。
database_name_reporting.enabled タイプ
ブール値
デフォルト
true
環境変数
NEW_RELIC_DATASTORE_DATABASE_NAME_REPORTING_ENABLED
これを有効にすると、エージェントは一部のデータベースドライバ 向けスロークエリトレースとトランザクショントレースのデータベース名を収集します。
クロスアプリケーショントレース(廃止) クロスアプリケーショントレーシング を制御するNode.jsエージェントの変数は、通常はご利用のアプリケーションのnewrelic.js
設定ファイルのcross_application_tracer
セクションに表示されます。
enabled タイプ
ブール値
デフォルト
false
環境変数
NEW_RELIC_CROSS_APPLICATION_TRACER_ENABLED
true
に設定すると、New Relicが監視する複数のアプリケーションをまたいだトランザクションをトレースします。
重要 クロスアプリケーショントレース(CAT)は廃止され、今後のメジャーリリースで削除されます。クロスサービスの可視性のために、エージェントバージョン8.3.0のデフォルトで有効になっているディストリビューティッド(分散)トレーシング を使用することをお勧めします。有効にする前に、移行ガイド を読んでください。
エラーメッセージ編集の変数 このNode.jsエージェントの変数は、ご利用のアプリケーションのnewrelic.js
設定のstrip_exception_messages
セクションに表示される、エラーメッセージ編集を制御します:
enabled タイプ
ブール値
デフォルト
true
環境変数
NEW_RELIC_STRIP_EXCEPTION_MESSAGES_ENABLED
false
である場合、エージェントはキャプチャーしたエラーメッセージを編集します。
ディストリビューティッド(分散)トレーシング ディストリビューティッド(分散)トレーシング では、リクエストが経由する分散システムのパスを見ることができます。設定ファイルを介して設定する場合は、以下のオプションをdistributed_tracing
セクションに配置してください。Node.jsエージェント8.3.0以降では、デフォルトでオンになっています。
ディストリビューティッド(分散)トレーシングの設定の詳細については、Node.jsアプリケーションのディストリビューティッド(分散)トレーシングを有効にする を参照してください。
enabled タイプ
ブール値
デフォルト
true
環境変数
NEW_RELIC_DISTRIBUTED_TRACING_ENABLED
これをfalse
に設定し、ディストリビューティッド(分散)トレーシングを無効にします。たとえば、設定ファイルで、以下を使用します。
タイプ
ブール値
デフォルト
false
環境変数
NEW_RELIC_DISTRIBUTED_TRACING_EXCLUDE_NEWRELIC_HEADER
アウトバウンドリクエストに添付されたNew Relicヘッダーを除外するには、これをtrue
に設定し、ディストリビューティッド(分散)トレーシング用のトレースコンテキストヘッダーにのみ依存します。これがfalse
の場合、両方のタイプのヘッダーを使用します。
たとえば、設定ファイルでこれを有効にするには、次のものを使用します:
exclude_newrelic_header : true
gRPCサーバーインストゥルメンテーション grpc
セクションでは、gRPCサーバーのインストゥルメント方法の動作が制御されます。
record_errors タイプ
ブール値
デフォルト
true
環境変数
NEW_RELIC_GRPC_RECORD_ERRORS
有効にすると、エージェントはすべてのエラーgRPCステータスコードをNew Relicに送信します。つまり、ステータスコードがゼロ以外の場合です。無効にすると、サーバーインストゥルメンテーションはゼロ以外のステータスコードをNew Relicに送信しません。
ignore_status_codes タイプ
整数の配列
デフォルト
[]
環境変数
NEW_RELIC_GRPC_IGNORE_STATUS_CODES
クライアント側とサーバー側の両方のインストゥルメンテーションで、エラーコレクターが無視するgRPCステータスコードのコンマ区切りリスト。
スパンイベント スパンデータ はディストリビューティッド(分散)トレーシング 用にレポートされます。スパンをレポートするには、ディストリビューティッド(分散)トレーシングが有効になっている必要があります。スパン設定はspan_events
セクションで設定されます。オプションには次のものが含まれます。
enabled タイプ
ブール値
デフォルト
true
環境変数
NEW_RELIC_SPAN_EVENTS_ENABLED
スパンイベントのレポートをオンまたはオフにする。
attributes.enabled タイプ
ブール値
デフォルト
true
環境変数
NEW_RELIC_SPAN_EVENTS_ATTRIBUTES_ENABLED
この設定は、スパンの属性レポートをオンまたはオフにするために使用できます。ルートレベルでattributes.enabled
がfalse
である場合は、この設定方法にかかわらず、属性はスパンと一緒に送信されません。
attributes.include タイプ
配列
デフォルト
[]
環境変数
NEW_RELIC_SPAN_EVENTS_ATTRIBUTES_INCLUDE
属性がスパンに対して有効になっている場合は、このリストにあるすべての属性キーがスパンに添付されます。詳しくはエージェント属性ルール を参照してください。
attributes.exclude タイプ
配列
デフォルト
[]
環境変数
NEW_RELIC_SPAN_EVENTS_ATTRIBUTES_EXCLUDE
このリストにあるすべての属性キーは、スパンと一緒に送信されません。詳しくはエージェント属性ルール を参照してください。
max_samples_stored タイプ
整数
デフォルト
2000
環境変数
NEW_RELIC_SPAN_EVENTS_MAX_SAMPLES_STORED
エージェントが1分あたりに収集するイベントの最大数。この数を超える場合、エージェントは統計的サンプリングを収集します。
10kを超える設定は推奨されません。サーバーによって1分あたりのデータの上限は10kに制限されることになります。
AIモニタリング のエージェントを構成する場合は、最大値10000
に設定します。 最大量のトレースのキャプチャを保証します
無限トレーシング 無限トレーシングをオンにするには、以下の追加設定を加えます。無限トレーシング設定はinfinite_tracing
セクションで設定します。さらに、ディストリビューティッド(分散)トレーシングを有効にする 必要があります。Node.js APMエージェントバージョン8.3.0以降では、ディストリビューティッド(分散)トレーシングがデフォルトで有効になっています。
span_events.queue_size タイプ
数
デフォルト
10000
環境変数
NEW_RELIC_INFINITE_TRACING_SPAN_EVENTS_QUEUE_SIZE
エージェントが削除する前にメモリに保持する無限トレーシングスパンの量。
キューがほとんどの時間使用されていないため、この設定をデフォルトから変更する必要はありません。エージェントがデータをストリームできない間、無限トレーシングのエンドポイントへの再接続中にのみキューを使用します。エージェントがこの期間中に無限トレーシングスパンを削除する可能性があります。その場合は、この数を増やすと効果的です。
アプリケーションロギング アプリケーションログの設定には、Node.JSエージェントのバージョン8.11.0以降 が必要です。
Node.jsエージェントのログを設定するヒントについては、コンテキスト内のNode.jsログの設定 を参照してください。
application_logging.enabled タイプ
ブール値
デフォルト
true
環境変数
NEW_RELIC_APPLICATION_LOGGING_ENABLED
コンテキストのログの を自動生成できるようにします。
たとえば、設定ファイルでこの機能を無効にするには、次のように使用します。
application_logging.metrics.enabled タイプ
ブール値
デフォルト
true
環境変数
NEW_RELIC_APPLICATION_LOGGING_METRICS_ENABLED
APM概要ページのログチャートで使用するロギングメトリクスをエージェントが収集するかどうか切り替えます。
application_logging.forwarding.enabled タイプ
ブール値
デフォルト
true
環境変数
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED
エージェントがNew Relicへの送信用にログレコードを収集するかどうかを切り替えます。
application_logging.forwarding.max_samples_stored タイプ
数
デフォルト
10000
環境変数
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_MAX_SAMPLES_STORED
1分あたりにNew Relicに送信するログレコードの数。ログ転送を使用する場合の全体的なメモリ消費を制御します。
これをより低い値に設定して、送信されるログラインの量を減らします(ログサンプリングの原因になる場合があります)。これをより高い値に設定すると、より多くのログラインが送信されます。
各ログは、関連トランザクションと同じ優先度を受け取ります。トランザクション以外で発生するログは、ランダムな優先度を受け取ります。max_samples_stored
によって制限されているため、一部のログが含まれない場合があります。たとえば、ロギングmax_samples_stored
が10,000に設定され、トランザクション1に10,000のログエントリがある場合、トランザクション1のログエントリのみが記録されます。トランザクション1のログが10,000未満の場合、トランザクション1のすべてのログを受け取ります。まだスペースがある場合は、トランザクション2のすべてのログを受け取るなどとなります。
サンプリングされたトランザクションのすべてのログが記録された後も、 max_samples_stored
の限度に達していない場合は、サンプリングに含まれていないトランザクションのログメッセージが送信されます。残っている場合は、トランザクション以外のログメッセージが記録されます。
application_logging.local_decorating.enabled タイプ
ブール値
デフォルト
false
環境変数
NEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED
エージェントが標準ログ出力でローカルログ装飾を実行するかどうかを切り替えます。
コードレベルのメトリクス コードレベルのメトリクス設定には、Node.JSエージェントのバージョン9.7.5以降 が必要です。
詳細については、コードレベルのメトリクスのドキュメント を参照してください。
code_level_metrics.enabled タイプ
ブール値
デフォルト
true
環境変数
NEW_RELIC_CODE_LEVEL_METRICS_ENABLED
コードレベルのメトリクス の駆動に役立つ、すべてのNode.js Webフレームワークのミドルウェアスパンで追加の属性をキャプチャするかどうかを切り替えます。追加属性は、code.filepath
、code.function
、code.lineno
、およびcode.column
です。
エラーインボックスの設定 次のタグのいずれかを設定すると、エラーが発生しているソフトウェアのバージョンを特定するのに役立ちます。
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の難読化 のドキュメントを参照してください。
url_obfuscation.regex.pattern タイプ
文字列またはRegExp
デフォルト
(なし)
環境変数
NEW_RELIC_URL_OBFUSCATION_REGEX_PATTERN
URLの難読化に使用する正規表現パターンを指定します。これが設定されていない場合、URLの難読化は実行されません。
url_obfuscation.regex.flags タイプ
文字列
デフォルト
(なし)
環境変数
NEW_RELIC_URL_OBFUSCATION_REGEX_FLAGS
URLの難読化パターンマッチングに使用する正規表現フラグを指定します。グローバルマッチングの場合はg
、大文字と小文字を区別しないマッチングの場合はi
など。複数のフラグを文字列として指定できます。gi
など。これが設定されていない場合、フラグは使用されません。
url_obfuscation.regex.replacement タイプ
文字列
デフォルト
(なし)
環境変数
NEW_RELIC_URL_OBFUSCATION_REGEX_REPLACEMENT
URLの難読化に使用する置換文字列を指定します。パターン内のグループをキャプチャするための参照を含めることができます。$1
など。これが設定されていない場合、すべてが1つの空の文字列に置き換えられます。
Securityエージェント New Relic Securityエージェントのインタラクティブアプリケーションセキュリティテスト (IAST)は、脆弱なペイロードを含む生成済みHTTPリクエストを再生することで、お使いのアプリケーションに悪用できる脆弱性がないかをテストします。
注意 実稼働ソフトウェアの脆弱性の露呈を避ける場合にのみ、非実稼働のデプロイメントでIASTを実行してください。
security.enabled タイプ
ブール値
デフォルト
false
環境変数
NEW_RELIC_SECURITY_ENABLED
New Relic SecurityエージェントのデータをNew Relicに送信するかどうかを切り替えます。これが無効で、ssecurity.agent.enabledがtrueの場合、セキュリティエージェントは登録されますが、データは送信されません。
security.agent.enabled タイプ
ブール値
デフォルト
false
環境変数
NEW_RELIC_SECURITY_AGENT_ENABLED
New Relic Securityエージェントを読み込むかどうかを切り替えます。このプロパティは、アプリケーション起動時に1回だけ読み込まれます。
security.mode タイプ
文字列
デフォルト
IAST
環境変数
NEW_RELIC_SECURITY_MODE
New Relic Securityが提供するモード:IAST。デフォルトはIASTです。IASTスキャンは侵襲性であるため、実稼働環境または実稼働データが処理される環境でこのモードを有効にしないでください。
security.validator_service_url タイプ
文字列
デフォルト
wss://csec.nr-data.net
環境変数
NEW_RELIC_SECURITY_VALIDATOR_SERVICE_URL
New Relic Security接続のURL。これは、Securityエージェントがデータを送信するエンドポイントであり、Node.jsエージェント用に設定した環境と一致する必要があります。
security.detection.rci.enabled タイプ
ブール値
デフォルト
true
環境変数
NEW_RELIC_SECURITY_DETECTION_RCI_ENABLED
RCIセキュリティイベント検出を有効にします。
security.detection.rxss.enabled タイプ
ブール値
デフォルト
true
環境変数
NEW_RELIC_SECURITY_DETECTION_RXSS_ENABLED
RXSSセキュリティイベント検出を有効にします。
security.detection.deserialization.enabled タイプ
ブール値
デフォルト
true
環境変数
NEW_RELIC_SECURITY_DETECTION_DESERIALIZATION_ENABLED
逆シリアル化セキュリティイベント検出を有効にします。
Heroku heroku.use_dyno_names タイプ
ブール値
デフォルト
true
環境変数
NEW_RELIC_HEROKU_USE_DYNO_NAMES
trueの場合、エージェントはHeroku dyno名をホスト名として使用します。
ワーカースレッド 11.0.0以前のバージョンのエージェントでは、エージェントはメインスレッドとワーカースレッドの両方で実行されていました。バージョン11.0.0では、非同期コンテキストの伝播との互換性がないため、エージェントはワーカースレッドでの実行を停止しました。ワーカースレッドで実行する機能はバージョン11.3.0で復元されましたが、worker_threads.enabled
をtrue
に設定する必要があります。ワーカースレッドでの実行動作は多様であるため、公式にはサポートされていません。メトリクスの生成や自己完結型のトランザクション追跡などの機能は動作する可能性がありますが、これは自己責任で使用してください。
worker_threads.enabled タイプ
ブール値
デフォルト
false
環境変数
NEW_RELIC_WORKER_THREADS_ENABLED
trueの場合、指定されていればエージェントはワーカースレッド内にあるときに読み込まれます。
環境変数のオーバーライド このセクションでは、環境変数のみで利用できる2つの設定を定義します。こうしたオーバーライドは、大半の設定では使用されません。
NEW_RELIC_HOME newrelic.js
を含むディレクトリへのパス。これは、環境変数としてのみ利用できます。ご自分の設定ファイルで設定することはできません。
NEW_RELIC_NO_CONFIG_FILE 使用した場合、エージェントがnewrelic.js
から構成設定を読み取ることができなくなります。デフォルト値と環境変数の値は引き続き設定されます。
これは、環境変数としてのみ利用できます。ご自分の設定ファイルで設定することはできません。
環境変数タイプのリファレンスガイド このセクションでは、複雑なデータ型を適切にフォーマットする方法について説明します。
配列 配列タイプはコンマ区切り文字列として定義されます。
NEW_RELIC_ERROR_COLLECTOR_IGNORE_ERROR_CODES = 404,500,429
オブジェクト オブジェクトタイプはJSON文字列として定義されます。
NEW_RELIC_ERROR_COLLECTOR_EXPECTED_MESSAGES = ' {"Error":["Undefined", "No soup for you!"]} '