このドキュメントでは、New Relic Node.js エージェントの 属性 、属性を有効または無効にする方法を詳しく説明し、エージェントが 宛先 に対してどの属性を含めるか、または除外するかを決定するために従うルールを説明しています。
ヒント これらの属性設定は、Node.jsエージェントのバージョン2.7.1以降に適用されます。それ以前のバージョンのエージェントを使用している場合は、 レガシー属性設定の更新 を参照してください。
属性の検索と使用 New Relic 属性 は、 イベント および トランザクション データのプロパティを決定する情報を含むキーと値のペアです。属性を利用することで、アプリケーションに対する洞察を深めたり、New Relic のデータに注釈を付けたりすることができます。 。
属性(デフォルトと カスタム の両方)は、次のとおりです。
それぞれの送信先にどの属性を送信するかを正確にカスタマイズできます。
ヒント Node.js エージェント バージョン 6.10.0 の時点で、分散トレースや無限トレースを有効にすると、 Transaction
イベントからの情報が現在使用可能なトランザクションのSpan
に適用されます。このため、 Transaction
イベントの属性設定をSpan
イベントに適用するか、それらをグローバル属性設定として適用することをお勧めします。
Node.js固有の属性 デフォルトのAPM属性 に加えて、Node.jsエージェントは以下のソースから属性を収集します。
HTTPレスポンスコード Webリクエストの応答ステータスコード。この属性のキーはhttpResponseCode
です。
各デスティネーションのデフォルト設定は
HTTPレスポンスメッセージ Web要求に存在する場合の応答ステータスメッセージ。この属性のキーはhttpResponseMessage
です。
各デスティネーションのデフォルト設定は
カスタムアトリビュート Node.js エージェント API へのaddCustomAttribute()
呼び出しに追加された属性。この属性のキー名は、メソッドを呼び出すときに指定した内容によって異なります。
各デスティネーションのデフォルト設定は
トランザクションのトレースEnabled
エラー分析。有効
APMのイベント有効
ブラウザのイベント。使用不可
noticeError()
APIコールNode.js エージェント API のnoticeError()
呼び出しに追加された属性。この属性のキー名は、メソッドを呼び出すときに指定した内容によって異なります。
各デスティネーションのデフォルト設定は
トランザクションのトレース。利用できません エラー分析。有効 APMのイベントです。利用不可 ブラウザのイベント使用不可 Node.jsエージェントは、レスポンスヘッダとリクエストヘッダを属性として取り込むことができます。デフォルトでは、Node.jsエージェントは、除外されていないすべてのリクエストヘッダを収集します。
デフォルトで除外されるHTTPリクエストヘッダ。
request.headers.cookie
request.headers.authorization
request.headers.proxy-authorization
request.headers.set-cookie*
request.headers.x-*
キャプチャされた応答ヘッダー: response.headers.content-type
newrelic.js
ファイルでallow_all_headers
をfalse
に設定すると、すべてのヘッダーの収集を無効にできます。
各デスティネーションのデフォルト設定は
トランザクションのトレースEnabled
エラー分析。有効
APMのイベント有効
ブラウザのイベント。使用不可
リクエストパラメータ トランザクションからパラメーターを要求します。Node.js エージェントは、デフォルトではパラメーターをキャプチャしません。request.parameters.*
エントリをattributes.include
に追加すると、すべての GET パラメータをキャプチャできます。または、特定のリクエスト パラメータをリストに追加できます (例: request.parameters.foo
またはrequest.parameters.bar
。POST パラメーターを取得するには、addCustomAttribute()
Node.js エージェント API 呼び出しを使用します。
属性の設定 Node.js エージェントが各送信先に送信する属性の種類をカスタマイズすることができます。これは、セキュリティ上の理由から、New Relic に報告してほしくない機密性の高い属性がある場合によく行われます。
以下の構成プロパティと 属性ルール を使用して、属性を有効または無効にします。
allow_all_headers デフォルトでは無効です。exclude
ルールでフィルタリングされたものを除くすべてのヘッダーのみをエージェントが収集するには、これをtrue
に設定します。
attribute.include_enabled destination.attributes.enabled 属性全体を有効または無効にします。宛先をfalse
に設定すると、包含/除外の設定に関係なく、属性はその宛先に送信されません。宛先が有効な場合、すべてのユーザー属性がデフォルトでその宛先に送信されます。
宛先.属性.インクルード エージェントが New Relic に報告する特定の属性キーを指定します。すべての宛先について、これはデフォルトで空の文字列のリストです。.exclude
プロパティは.include
プロパティをオーバーライドします。すべての.include
値を無効にするには、 attributes.include_enabled
をfalse
に設定します。
destination.attributes.exclude エージェントが New Relic に報告しない特定の属性キーを指定します。すべての宛先について、これはデフォルトで空の文字列のリストです。.exclude
プロパティは.include
プロパティをオーバーライドします。
アトリビュートルール Node.jsエージェントは、デスティネーションに対してどの属性を含めるか、または除外するかを決定する際に、これらのルールに従います。
attributes.enabledをfalseに設定すると、他の設定がすべて無効になります。 メインのattributes.enabled
プロパティをfalse
に設定すると、エージェントは属性をまったく報告しません。
すべてのアトリビュートを無効にする エージェントの設定。
attributes.enabled: false
attributes.include: request.parameters.*
error_collector.attributes.enabled: true
入力キー。
foo
bar
request.parameters.foo
request.parameters.bar
エージェントの出力です。
トランザクションの痕跡。属性なし
エラーアナリティクス。属性がありません
APMのイベントです。属性なし
ブラウザのイベントです。属性なし
デスティネーションをfalseに設定すると、include/excludeがオーバーライドされます。 宛先の有効 化をfalse
に設定すると、エージェントは包含/除外設定を無視し、その宛先の属性を報告しません。
1つのデスティネーションを無効にする エージェントの設定。
transaction_tracer.attributes.enabled: false
attributes.include: one, two*
transaction_tracer.attributes.include: three, four
入力キー。
one
two
three
four
エージェントの出力です。
トランザクションの痕跡。属性なし
エラー分析: one
、 two
APMイベント: one
、 two
ブラウザのイベントです。属性なし
Exclude overridesはincludeです。 .exclude
プロパティは.include
プロパティを上書きします。
インクルード設定とエクスクルード設定の相克 エージェントの設定。
attributes.enabled: true
attributes.include: foo, myCustomAtt
attributes.exclude: password, myCustomAtt
入力キー。
foo
myCustomAtt
password
エージェントの出力です。
トランザクショントレース: foo
エラー分析: foo
APMイベント: foo
ブラウザイベント: foo
より具体的なルールが優先されます。 複数のincludeまたはexclude属性が同じキーに影響を与える場合は、最も具体的な設定が優先されます。
特定の設定とのコンフリクト エージェントの設定。
attributes.enabled: true
attributes.include: foo, myCustomAtt
attributes.exclude: password, myCustomAtt
browser_monitoring.attributes.enabled: true
入力キー。
food
food.bread
food.fruit.banana
food.fruit.apple
エージェントの出力です。
トランザクショントレース: food.fruit.apple
エラー分析: food.fruit.banana
、 food.fruit.apple
APMイベント: food.fruit.banana
、 food.fruit.apple
ブラウザイベント: food.fruit.banana
、 food.fruit.apple
キーは大文字と小文字を区別します。 .include
および.exclude
プロパティで指定されたキーでは、大文字と小文字が区別されます。
キーが指定されたケースと一致しない エージェントの設定。
attributes.enabled: true
attributes.exclude: password, PaSsWoRd
入力キー。
password
Password
PASSWORD
PaSsWoRd
PassWORD
エージェントの出力です。
トランザクショントレース: Password
、 PASSWORD
、 PassWORD
エラー分析: Password
、 PASSWORD
、 PassWORD
APMイベント: Password
、 PASSWORD
、 PassWORD
ブラウザイベント: Password
、 PASSWORD
、 PassWORD
ワイルドカードにはアスタリスクを使用します。 キーの末尾にあるアスタリスク*
をワイルドカードとして使用できます。これは、同じプレフィックスを持つ属性のセットと一致します。
ワイルドカードで複数の入力キーに対応 エージェントの設定。
attributes.enabled: true
attributes.include: custom*
attributes.exclude: request.parameters.*
入力キー。
custom
custom.key1
custom.key2
request.parameters.
request.parameters.foo
request.parameters.bar
エージェントの出力です。
トランザクショントレース: custom
、 custom.key1
、 custom.key2
エラー分析: custom
、 custom.key1
、 custom.key2
APMイベント: custom
、 custom.key1
、 custom.key2
ブラウザイベント: custom
、 custom.key1
、 custom.key2