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