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設定階層:サーバーサイドコンフィグレーション設定は環境変数に優先します。環境変数はエージェント設定ファイルに優先します。設定ファイルはエージェントのデフォルト設定に優先します。
各設定方法の詳細な説明は、以下のとおりです。
設定ファイル (newrelic.js
) には、すべてのNode.jsエージェント設定が含まれています。Node.jsエージェントをインストールする際、newrelic.js
をアプリケーションのルートディレクトリにコピーする必要があります。ほとんどの設定のデフォルト値は空で、config/default.js
からの値を継承します。
newrelic.js
のほとんどのコンフィグレーション設定には同等の環境変数が含まれています。これらは、PaaS環境(Heroku、Microsoft Azureなど)でエージェントを実行する場合に役立ちます。Node.jsエージェントの環境変数は常にNEW_RELIC_
で始まります。
利用可能な場合、これらの環境変数は、個々の設定オプションの下に環境変数として文書化されています。また、環境変数を介してのみ設定できる、ほとんど使用されることがない2つの設定があります。
New Relic APMとCodeStreamを使用している場合は、リポジトリを関連付ける方法と、ビルドSHAまたはリリースタグをエラー受信トレイに関連付ける方法をご覧ください。
所有者 (オーナー) と管理者は、直接New Relicでいくつかの設定を表示、設定することができます。利用可能な場合、サーバーサイドコンフィグレーション用のUIラベルは、このドキュメントの個々の設定オプションの下にサーバーサイドラベルとしてリストアップされています。
エクスポート変数
本セクションは、ご利用のアプリケーションのnewrelic.js
設定ファイルのexports.config = {
セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。
タイプ | 文字列 |
---|
デフォルト | "My Application" |
---|
環境変数 | NEW_RELIC_APP_NAME
|
---|
New Relicがアプリケーションを識別するのに使用する名前。例、app_name: ['MyNodeApp']
。アプリケーションに複数の名前を使用するには、カンマ区切りの名前リストを指定します。
同じ名前のすべてのアプリケーションのデータはNew Relic UIにマージされるため、この設定は慎重に行ってください。当社では、混同や非意図的なデータの集計を避けるために、デフォルト名を分かりやすい名前に置き換えることを強く推奨しています。
ヒント
Azureユーザーの場合、Node.jsエージェントは、Azure Webサーバー用に選択した名前を設定し直すことなく使用できるように、APP_POOL_ID
を(設定されていれば)使用します。
タイプ | 文字列 |
---|
デフォルト | (なし) |
---|
環境変数 | NEW_RELIC_LICENSE_KEY
|
---|
この設定は必須です。New Relicライセンスキー。例、license_key: '40HexadecimalCharacters'
。
タイプ | ブール値 |
---|
デフォルト | true
|
---|
環境変数 | NEW_RELIC_ENABLED
|
---|
エージェントの起動を防ぐには、false
に設定します。これは、コードをデバッグする際にエージェントを一時的に無効にする必要がある場合に役立ちます。この設定は、エージェントによってそのインストゥルメンテーションのブートストラップや、すべての要素の設定が行われることを防止し、これによりエージェントが起動しNew Relicのサーバーに接続することを阻止できます。
true
の場合、exclude
ルールでフィルタリングされたものを除いて、すべてのHTTPヘッダーの取得を有効にします。false
の場合、収集されたヘッダーはNode.jsエージェントの属性で定義されたものに制限されます。
タイプ | ブール値 |
---|
デフォルト | false
|
---|
環境変数 | NEW_RELIC_ALLOW_ALL_HEADERS
|
---|
注意
すべてのヘッダー関連の追加/除外ルールは、フィルタリング用にキャメルケース形式にする必要があります。
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'
)。
タグを追加します。タグをオブジェクトとして、またはセミコロン区切りの文字列のコロンで分けられたペアとして指定します(例:Server:One;Data Center:Primary
)。
タイプ | オブジェクトまたは文字列 |
---|
デフォルト | (なし) |
---|
環境変数 | NEW_RELIC_LABELS
|
---|
タイプ | 整数 |
---|
デフォルト | 443
|
---|
環境変数 | NEW_RELIC_PORT
|
---|
重要
この値は、New Relic Supportから変更を依頼されない限り編集しないでください。
New Relicコレクターに接続するためのポート番号(例:port: 443
)。
タイプ | 文字列 |
---|
デフォルト | (なし) |
---|
環境変数 | 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のプロキシを設定する方法を参照してください。
タイプ | 文字列 |
---|
デフォルト | (なし) |
---|
環境変数 | NEW_RELIC_PROXY_HOST
|
---|
インターネットに接続するためのプロキシサーバーのホスト名またはIPアドレス。
タイプ | 文字列 |
---|
デフォルト | (なし) |
---|
環境変数 | NEW_RELIC_PROXY_PASS
|
---|
プロキシサーバーに対する認証用パスワード。エージェントはHTTP BASIC認証のみサポートします。
タイプ | 文字列 |
---|
デフォルト | (なし) |
---|
環境変数 | NEW_RELIC_PROXY_PORT
|
---|
インターネットに接続するためのプロキシサーバーのポート番号。
タイプ | 文字列 |
---|
デフォルト | (なし) |
---|
環境変数 | NEW_RELIC_PROXY_USER
|
---|
プロキシサーバーに対する認証用ユーザー名。エージェントはHTTP BASIC認証のみサポートします。
変数のロギング
本セクションは、ご利用のアプリケーションのnewrelic.js
設定ファイルのlogging: {
セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。
タイプ | 文字列 |
---|
デフォルト | true (serverless_mode のfalse )
|
---|
環境変数 | NEW_RELIC_LOG_ENABLED
|
---|
エージェントに特異なロギングを有効または無効にします。
タイプ | 文字列 |
---|
デフォルト | info
|
---|
環境変数 | NEW_RELIC_LOG_LEVEL
|
---|
エージェントログに記録される詳細レベルを定義します。最小から最大の詳細レベルの順で取りうる値は、fatal
、error
、warn
、info
、debug
、trace
があります。
注意
debug
またはtrace
ロギングは、New Relic Supportから使用を依頼されない限り、使用しないでください。これらのロギングレベルでは、過剰なオーバーヘッドが発生する可能性があります。ほとんどの場合はinfo
を使用してください。
タイプ | 文字列 |
---|
デフォルト | 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
に設定します。
監査ログ
本セクションは、ご利用のアプリケーションのnewrelic.js
設定ファイルのaudit_log: {
セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。
タイプ | ブール値 |
---|
デフォルト | false
|
---|
環境変数 | NEW_RELIC_AUDIT_LOG_ENABLED
|
---|
有効な場合、エージェントはコレクターに送信するペイロードをログします。このデータは、ロギングレベルが最小レベルに設定されている場合でも、メインログファイルに含まれます。
タイプ | 配列 |
---|
デフォルト | 空の配列 (すべてのタイプを含む) |
---|
環境変数 | 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
に設定されます。
属性
このセクションでは、お使いのアプリケーションのnewrelic.js
設定ファイルのattributes: {
セクションに通常表示される順序で、Node.jsエージェント属性の変数を定義します。
注意
すべてのヘッダー関連の追加/除外ルールは、フィルタリング用にキャメルケース形式にする必要があります。
タイプ | ブール値 |
---|
デフォルト | true
|
---|
環境変数 | NEW_RELIC_ATTRIBUTES_ENABLED
|
---|
true
の場合、すべての宛先に対して属性の取得を有効にします。
タイプ | 配列 |
---|
デフォルト | []
|
---|
環境変数 | NEW_RELIC_ATTRIBUTES_EXCLUDE
|
---|
すべての宛先から除外する属性のプレフィックス。末尾に*
をワイルドカードとして使用可能。
タイプ | 配列 |
---|
デフォルト | []
|
---|
環境変数 | NEW_RELIC_ATTRIBUTES_INCLUDE
|
---|
すべての宛先に追加する属性のプレフィックス。末尾に*
をワイルドカードとして使用可能。
エラーコレクター変数
New Relicでエラーの処理方法を管理できます。本セクションは、ご利用のアプリケーションのnewrelic.js
設定ファイルのerror_collector: {
セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。
タイプ | ブール値 |
---|
デフォルト | true
|
---|
環境変数 | NEW_RELIC_ERROR_COLLECTOR_ENABLED
|
---|
サーバーサイドラベル | Enable error collection?
|
---|
有効な場合、エージェントはアプリケーションからエラートレースを収集します。
タイプ | 整数の配列 |
---|
デフォルト | [404]
|
---|
環境変数 | NEW_RELIC_ERROR_COLLECTOR_IGNORE_ERROR_CODES
|
---|
サーバーサイドラベル | Ignore these status codes
|
---|
エラーコレクターが無視するカンマ区切りのHTTPステータスコードリスト。
タイプ | 配列|オブジェクト |
---|
デフォルト | []
|
---|
環境変数 | NEW_RELIC_ERROR_COLLECTOR_IGNORE_ERRORS
|
---|
エラーコレクターが無視すべきjavascriptエラータイプ//クラスのカンマ区切りリスト。
以下の設定:
ignore_classes: ["ReferenceError"]
すべての参照エラーを無視します。
javascriptオブジェクト。コレクターが無視すべきjavascriptエラーメッセージに関連したjavascriptクラスリストを説明します。以下の設定。
ignore_messages: {"Error":["Undefined", "Out of time"]}
Undefined
およびOut of time
と全く同じ(大文字と小文字を区別)メッセージ文字列を持つタイプError
のエラーをすべて無視します。
注意
newrelic.noticeError
を使用して記録されたエラーはこの設定値に従いません。
タイプ | 整数の配列 |
---|
デフォルト | []
|
---|
環境変数 | NEW_RELIC_ERROR_COLLECTOR_EXPECTED_ERROR_CODES
|
---|
エラーコレクターが予想済みとしてマークする、カンマ区切りのHTTPステータスコードリスト。
注意
newrelic.noticeError
を使用して記録されたエラーはこの設定値に従いません。
タイプ | 配列 |
---|
デフォルト | []
|
---|
環境変数 | NEW_RELIC_ERROR_COLLECTOR_EXPECTED_ERRORS
|
---|
以下の設定:
expected_classes: ["ReferenceError"]
すべての参照エラーを予想済みとしてマークします。
注意
newrelic.noticeError
を使用して記録されたエラーはこの設定値に従いません。
javascriptオブジェクト。コレクターが無視すべきjavascriptエラーメッセージに関連したjavascriptクラスリストを説明します。以下の設定。
expected_messages: {"Error":["Undefined", "Out of time"]}
Undefined
およびOut of time
と全く同じ(大文字と小文字を区別)メッセージ文字列を持つタイプError
のすべてのエラーに印をつけます。
注意
newrelic.noticeError
を使用して記録されたエラーはこの設定値に従いません。
タイプ | ブール値 |
---|
デフォルト | true
|
---|
環境変数 | NEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_ENABLED
|
---|
true
の場合、エージェントはエラーコレクションから属性を取得します。
注意
すべてのヘッダー関連の追加/除外ルールは、フィルタリング用にキャメルケース形式にする必要があります。
タイプ | 配列 |
---|
デフォルト | []
|
---|
環境変数 | NEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_EXCLUDE
|
---|
エラーコレクションから除外する属性のプレフィックス。末尾に*
をワイルドカードとして使用可能。
タイプ | 配列 |
---|
デフォルト | []
|
---|
環境変数 | NEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_INCLUDE
|
---|
エラーコレクションに追加する属性のプレフィックス。末尾に*
をワイルドカードとして使用可能。
タイプ | 整数 |
---|
デフォルト | 100 |
---|
環境変数 | NEW_RELIC_ERROR_COLLECTOR_MAX_EVENT_SAMPLES_STORED
|
---|
エージェントが1分あたりに収集するイベントの最大数。この数を超える場合、エージェントは統計的サンプリングを収集します。
トランザクショントレーサーの変数
エージェントは、次の目的に、リクエストをトランザクションに分類します。
- アプリケーションが時間を費やしている場所を可視化します(トランザクションの内訳)。
- 遅いリクエストを特定します。
- メトリクスをグループ化します。
- 遅いデータベースパフォーマンスなど、他の問題を切り分けます。
本セクションは、ご利用のアプリケーションのnewrelic.js
設定ファイルのtransaction_tracer: {
セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。
重要
トランザクション名の末尾に角括弧[suffix]
を使わないでください。New Relicは名前から自動的に角括弧を除去します。代わりに、必要に応じて丸括弧(suffix)
、またはその他の記号を使ってください。
タイプ | 文字列(off 、obfuscated 、またはraw ) |
---|
デフォルト | off
|
---|
環境変数 | NEW_RELIC_RECORD_SQL
|
---|
このオプションは、トランザクショントレースのスロークエリとrecord_sql
の両方に影響します。3つの値(off
、obfuscated
、raw
)のいずれかにすることができまです。
off
に設定されている場合、スロークエリは取得されません。また、バックトレースとSQLはトランザクショントレースに含まれません。raw
またはobfuscated
に設定されている場合、エージェントは生のSQLまたは難読化されたSQLとスロークエリのサンプルをコレクターに送信します。またエージェントは、その他の条件が満たされている場合(slow_sql.enabled
が設定されているなど)、SQLを送信することがあります。
タイプ | 整数 |
---|
デフォルト | 20
|
---|
環境変数 | NEW_RELIC_TRACER_TOP_N
|
---|
トランザクショントレースに適したリクエストの最大数を定義。
トランザクションはリクエストに基づき命名され、top_n
はこうした名前でグループ化された、「最も遅いトランザクションの上位n」を意味します。モジュールが記録済みのトレースを新規トレースと置き換えるのは、新規トレースがその名前の過去のトレースの最も遅いものよりも遅い場合のみとなります。この設定のデフォルト値はtop_n: 20
です。これは、トランザクションページもまた、最も遅い20のトランザクションをデフォルトとするためです。
Node.jsエージェントは、起動後の最初の収集サイクルにおいて、少なくとも5つの異なる遅いトランザクションをキャプチャーします。また、過去の5つの収集サイクルにおいて遅いトランザクションがキャプチャーされなかった場合は、リセットしてから別のトランザクションをキャプチャーします。こうして、自社のアプリのリクエストパスに関して、その収集サイクルで絶対的に遅いリクエストに注目することなく詳細を確認できるようになります。
ヒント
過去1分間において絶対的に遅いトランザクションを記録するには、設定をtop_n: 0
またはtop_n: 1
にします。ただし、これによって、非常に遅いルートがトランザクショントレースを支配することになります。
タイプ | 整数または apdex_f |
---|
デフォルト | apdex_f
|
---|
環境変数 | NEW_RELIC_TRACER_THRESHOLD
|
---|
サーバーサイドラベル | Threshold
|
---|
トランザクションがトランザクショントレースの資格を持つことになる、ウェブトランザクションレスポンスタイムの閾値(秒数)。デフォルト値はapdex_f
です。これによって、トレースの閾値はご利用のアプリケーションのApdex Tの4倍に設定されます。また、具体的な値をミリ秒単位で入力することもできます。
例:閾値をに設定 apdex_f
apdex_t
のデフォルト値は100ミリ秒です。トランザクション閾値をapdex_f
に設定した場合、「遅い」トランザクションは400ミリ秒になります。
タイプ | boolean |
---|
デフォルト | true
|
---|
環境変数 | NEW_RELIC_HIDE_INTERNALS
|
---|
このエージェントは、少量のCPUを使用することで、ウェブアプリケーションに添付された内部プロパティを隠します。この設定をfalse
に変更した場合、エージェントのオーバーヘッドを若干減少させる場合がありますが、エージェントのパフォーマンスにも作用する可能性があります。
タイプ | ブール値 |
---|
デフォルト | true
|
---|
環境変数 | NEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_ENABLED
|
---|
true
に設定されていると、エージェントはトランザクショントレースの属性をキャプチャーします。
注意
すべてのヘッダー関連の追加/除外ルールは、フィルタリング用にキャメルケース形式にする必要があります。
タイプ | 配列 |
---|
デフォルト | []
|
---|
環境変数 | NEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_EXCLUDE
|
---|
トランザクショントレースから除外する属性の接頭辞。末尾に*
をワイルドカードとして使用可能。
タイプ | 配列 |
---|
デフォルト | []
|
---|
環境変数 | NEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_INCLUDE
|
---|
トランザクショントレースに含める属性の接頭辞。末尾に*
をワイルドカードとして使用可能。
ルールの変数
本セクションは、ご利用のアプリケーションのnewrelic.js
設定ファイルのrules: {
セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。
タイプ | 文字列または正規表現 |
---|
デフォルト | (なし) |
---|
環境変数 | NEW_RELIC_NAMING_RULES
|
---|
受信するリクエストのURLを合致させ、関連のNew Relicトランザクションを命名するためのカンマ区切りルール一覧。次の形式を使用します:
name: [
{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"}'
タイプ | 文字列または正規表現 |
---|
デフォルト | socket.ioロングポーリングリクエストにマッチさせる正規表現("^\/socket\.io\/.*\/xhr-polling/")。 |
---|
環境変数 | NEW_RELIC_IGNORING_RULES
|
---|
エージェントに無視してほしいリクエストURLの一覧を定義。一覧をパターンとして指定します。文字列または正規表現が可能です。
タイプ | ブール値 |
---|
デフォルト | true
|
---|
環境変数 | NEW_RELIC_ENFORCE_BACKSTOP
|
---|
これを有効にすると、エージェントは他の命名ロジックの影響を受けないトランザクション(API、ルール、またはメトリック正規化ルールなど)の名前をNormalizedUri/*
に変更します。これをfalse
に設定すると、エージェントはトランザクション名をUri/path/to/resource
に変更します。
トランザクションイベントの変数
本セクションは、ご利用のアプリケーションのnewrelic.js
設定ファイルのtransaction_events: {
セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。
これを有効にすると、エージェントがトランザクションイベントをNew Relicに送信します。このイベントのデータには、トランザクションのタイミング、トランザクション名、またあらゆるカスタムパラメーターが含まれます。これが無効になると、エージェントはこうしたデータを収集せず、New Relicに送信することもありません。
タイプ | 整数 |
---|
デフォルト | 10000 |
---|
環境変数 | NEW_RELIC_TRANSACTION_EVENTS_MAX_SAMPLES_STORED
|
---|
エージェントが1分あたりに収集するイベントの最大数。この数を超える場合、エージェントは統計的サンプリングを収集します。
10,000を超える設定は推奨されません。サーバーによって1分あたりのデータの上限は10,000に制限されます。
エージェントがNew Relicコレクターと通信できない場合に保管する最大イベント数を定義。以前の収集サイクルの値は新しいサンプリングにマージされ、このオプションは最大数を制限します。必ず、この数がmax_samples_per_minute
よりも大きいことを確認してください。たとえば、倍の数に設定しましょう。この値を増やす前に、メモリオーバーヘッドを考慮してください。
注意
エージェントバージョン6.0.0および新規の推奨最大値で始まる場合、この設定による挙動は異なります。バージョン6.x以上の場合、max_samples_storedを参照してください。
エージェントが1分あたりに収集するイベントの最大数。この数を超える場合、エージェントは統計的サンプリングを収集します。
注意
エージェントバージョン6.0.0から始まる場合、この設定はmax_samples_storedに置き換えられます。6.x以降のエージェントの場合、max_samples_storedを参照してください。
タイプ | ブール値 |
---|
デフォルト | true
|
---|
環境変数 | NEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_ENABLED
|
---|
true
に設定されていると、エージェントはトランザクションイベントの属性をキャプチャーします。
注意
すべてのヘッダー関連の追加/除外ルールは、フィルタリング用にキャメルケース形式にする必要があります。
タイプ | 配列 |
---|
デフォルト | []
|
---|
環境変数 | NEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_EXCLUDE
|
---|
トランザクションイベントから除外する属性の接頭辞。末尾に*
をワイルドカードとして使用可能。
タイプ | 配列 |
---|
デフォルト | []
|
---|
環境変数 | NEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_INCLUDE
|
---|
トランザクションイベントに含める属性の接頭辞。末尾に*
をワイルドカードとして使用可能。
ブラウザモニターの変数
本セクションは、ご利用のアプリケーションのnewrelic.js
設定ファイルのbrowser_monitoring: {
セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。
タイプ | ブール値 |
---|
デフォルト | false
|
---|
環境変数 | NEW_RELIC_BROWSER_MONITOR_DEBUG
|
---|
true
の場合、サーバーからミニファイされていないソースをリクエストします。
タイプ | ブール値 |
---|
デフォルト | false
|
---|
環境変数 | NEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_ENABLED
|
---|
true
の場合、エージェントはブラウザモニタリングにカスタム属性を送信します。
注意
すべてのヘッダー関連の追加/除外ルールは、フィルタリング用にキャメルケース形式にする必要があります。
タイプ | 配列 |
---|
デフォルト | []
|
---|
環境変数 | NEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_EXCLUDE
|
---|
ブラウザモニタリングから除外する属性の接頭辞。末尾に*
をワイルドカードとして使用可能。
タイプ | 配列 |
---|
デフォルト | []
|
---|
環境変数 | NEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_INCLUDE
|
---|
ブラウザモニタリングに含める属性の接頭辞。末尾に*
をワイルドカードとして使用可能。
カスタムイベント変数
本セクションは、ご利用のアプリケーションのnewrelic.js
設定ファイルのcustom_insights_events: {
セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。現時点では、カスタムイベントに関する環境変数はありません。
タイプ | 整数 |
---|
デフォルト | 1000
|
---|
環境変数 | NEW_RELIC_CUSTOM_INSIGHTS_EVENTS_MAX_SAMPLES_STORED
|
---|
エージェントが1分あたりに収集するカスタムイベントの最大数を定義。カスタムイベント数がこの上限を超えた場合、エージェントは統計的サンプリングを収集します。
重要
この上限を増やすと、メモリ使用率が増大します。
スロークエリ変数
本セクションは、ご利用のアプリケーションのnewrelic.js
設定ファイルのslow_sql: {
セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。こうしたオプションは、スロークエリに関する行動を制御するものの、トランザクショントレースにおけるSQLノードには作用しません。
タイプ | ブール値 |
---|
デフォルト | false
|
---|
環境変数 | NEW_RELIC_SLOW_SQL_ENABLED
|
---|
これを有効にすると、エージェントはスロークエリの詳細を収集します。
タイプ | 整数 |
---|
デフォルト | 10 |
---|
環境変数 | NEW_RELIC_MAX_SQL_SAMPLES
|
---|
エージェントが1分あたりに収集するスロークエリの最大数を定義。エージェントは、上限に達した後の追加のクエリを破棄します。
重要
この上限を増やすと、メモリ使用率が増大します。
カスタムホスト名変数
本セクションは、ご利用のアプリケーションのnewrelic.js
設定ファイルのprocess_host: {
セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。こうしたオプションは、APM UIにおけるホストのディスプレイ名に関する動作を制御します。
タイプ | 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)を選択できます。
タイプ | 整数(4 または6 ) |
---|
デフォルト | 4
|
---|
環境変数 | NEW_RELIC_IPV_PREFERENCE
|
---|
環境変数のオーバーライド
このセクションでは、環境変数のみで利用できる2つの設定を定義します。こうしたオーバーライドは、大半の設定では使用されません。
newrelic.js
を含むディレクトリへのパス。これは、環境変数としてのみ利用できます。ご自分の設定ファイルで設定することはできません。
使用した場合、エージェントがnewrelic.js
から構成設定を読み取ることができなくなります。デフォルト値と環境変数の値は引き続き設定されます。
これは、環境変数としてのみ利用できます。ご自分の設定ファイルで設定することはできません。
データストアトレーサーの変数
本セクションは、ご利用のアプリケーションのnewrelic.js
設定ファイルのdatastore_tracer
セクションに通常表示される順序によって、Node.jsエージェントの変数を定義します。こうしたオプションは、データストアインスタンスのメトリクスの収集に関する行動を制御します。
これを有効にすると、エージェントは一部のデータベースドライバ向けデータストアインスタンスのメトリクス(ホストとポートなど)を収集します。これらは、スロークエリトレースとトランザクショントレースで報告されます。
これを有効にすると、エージェントは一部のデータベースドライバ向けスロークエリトレースとトランザクショントレースのデータベース名を収集します。
クロスアプリケーショントレース(廃止)
クロスアプリケーショントレーシングを制御するNode.jsエージェントの変数は、通常はご利用のアプリケーションのnewrelic.js
設定ファイルのcross_application_tracer
セクションに表示されます。
true
に設定すると、New Relicが監視する複数のアプリケーションをまたいだトランザクションをトレースします。
重要
クロスアプリケーショントレース(CAT)は廃止され、今後のメジャーリリースで削除されます。クロスサービスの可視性のために、エージェントバージョン8.3.0のデフォルトで有効になっているディストリビューティッド(分散)トレーシングを使用することをお勧めします。有効にする前に、移行ガイドを読んでください。
エラーメッセージ編集の変数
このNode.jsエージェントの変数は、ご利用のアプリケーションのnewrelic.js
設定のallow_raw_exception_messages
セクションに表示される、エラーメッセージ編集を制御します:
タイプ | ブール値 |
---|
デフォルト | true
|
---|
環境変数 | NEW_RELIC_ALLOW_RAW_EXCEPTION_MESSAGES_ENABLED
|
---|
false
である場合、エージェントはキャプチャーしたエラーメッセージを編集します。
ディストリビューティッド(分散)トレーシング
ディストリビューティッド(分散)トレーシングでは、リクエストが経由する分散システムのパスを見ることができます。設定ファイルを介して設定する場合、以下のオプションをdistributed_tracing
セクションに配置してください。
タイプ | ブール値 |
---|
デフォルト | true
|
---|
環境変数 | NEW_RELIC_DISTRIBUTED_TRACING_ENABLED
|
---|
ディストリビューティッド(分散)トレーシングを有効にするには、これをtrue
に設定します。
たとえば、設定ファイルでこれを有効にするには、次のものを使用します:
アウトバウンドリクエストに添付されたNew Relicヘッダーを除外するには、これをtrue
に設定し、ディストリビューティッド(分散)トレーシング用のトレースコンテキストヘッダーにのみ依存します。これがfalse
の場合、両方のタイプのヘッダーを使用します。
たとえば、設定ファイルでこれを有効にするには、次のものを使用します:
exclude_newrelic_header: true
スパンイベント
スパンデータはディストリビューティッド(分散)トレーシング用にレポートされます。スパンをレポートするには、ディストリビューティッド(分散)トレーシングが有効になっている必要があります。スパン設定はspan_events
スタンザに設定されます。オプションに含まれるもの
タイプ | ブール値 |
---|
デフォルト | true
|
---|
環境変数 | NEW_RELIC_SPAN_EVENTS_ENABLED
|
---|
スパンイベントのレポートをオンまたはオフにする。
タイプ | ブール値 |
---|
デフォルト | true
|
---|
環境変数 | NEW_RELIC_SPAN_EVENTS_ATTRIBUTES_ENABLED
|
---|
この設定は、スパンの属性レポートをオンまたはオフにするために使用できます。ルートレベルでattributes.enabled
がfalse
である場合は、この設定方法にかかわらず、属性はスパンと一緒に送信されません。
タイプ | 配列 |
---|
デフォルト | []
|
---|
環境変数 | NEW_RELIC_SPAN_EVENTS_ATTRIBUTES_INCLUDE
|
---|
属性がスパンに対して有効になっている場合は、このリストにあるすべての属性キーがスパンに添付されます。詳しくはエージェント属性ルールを参照してください。
タイプ | 配列 |
---|
デフォルト | []
|
---|
環境変数 | NEW_RELIC_SPAN_EVENTS_ATTRIBUTES_EXCLUDE
|
---|
このリストにあるすべての属性キーは、スパンと一緒に送信されません。詳しくはエージェント属性ルールを参照してください。
タイプ | 整数 |
---|
デフォルト | 2000 |
---|
環境変数 | NEW_RELIC_SPAN_EVENTS_MAX_SAMPLES_STORED
|
---|
エージェントが1分あたりに収集するイベントの最大数。この数を超える場合、エージェントは統計的サンプリングを収集します。
10kを超える設定は推奨されません。サーバーによって1分あたりのデータの上限は10kに制限されることになります。
無限トレーシング
無限トレーシングをオンにするには、ディストリビューティッド(分散)トレーシングを有効にして(distributed_tracing
をenabled: true
に設定)、以下の追加設定を加えます。たとえば、言語エージェント:ディストリビューティッド(分散)トレーシングの設定を参照してください。
アプリケーションロギング
タイプ | ブール値 |
---|
デフォルト | true
|
---|
環境変数 | NEW_RELIC_APPLICATION_LOGGING_ENABLED
|
---|
コンテキストのログを自動生成できるようにします。
タイプ | ブール値 |
---|
デフォルト | true
|
---|
環境変数 | NEW_RELIC_APPLICATION_LOGGING_METRICS_ENABLED
|
---|
APM概要ページのログチャートで使用するロギングメトリクスをエージェントが収集するかどうか切り替えます。
タイプ | ブール値 |
---|
デフォルト | false
|
---|
環境変数 | NEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED
|
---|
エージェントがNew Relicへの送信用にログレコードを収集するかどうかを切り替えます。
タイプ | 数 |
---|
デフォルト | 10000
|
---|
環境変数 | NEW_RELIC_APPLICATION_LOGGING_FORWARDING_MAX_SAMPLES_STORED
|
---|
1分あたりにNew Relicに送信するログレコードの数。ログ転送を使用する場合の全体的なメモリ消費を制御します。
タイプ | ブール値 |
---|
デフォルト | false
|
---|
環境変数 | NEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED
|
---|
エージェントが標準ログ出力でローカルログ装飾を実行するかどうかを切り替えます。