このドキュメントでは、New Relic Ruby エージェントを使用して属性コレクションを構成する方法の例を示します。属性のすべての Ruby エージェント構成設定のリストについては、 Ruby エージェント構成: 属性を参照してください。
キャプチャーリクエストパラメーター
デフォルトでは、リクエスト パラメータのキャプチャは有効になっていません。次の構成では、デフォルトの宛先transaction_tracer
、 transaction_events
、およびerror_collector
のパラメーター キャプチャがオンになります。宛先を制限するには、特定の宛先の選択の例を参照してください。
Configuration:
attributes.include: request.parameters.*
リクエスト パラメータには文字列request.parameters
のプレフィックスが付き、ネストされたパラメータにはそのネストを反映するキーがあります。たとえば、プロファイルの下にネストされた場所属性を持つユーザーのキーはrequest.parameters.user.profile.location
になります。
同様に、コレクションのメンバーである属性には、メンバーシップを反映するインデックスを持つキーがあります。ユーザーが複数の電話番号を持っている場合、キーはrequest.parameters.phone_numbers.0
、 request.parameters.phone_numbers.1
などのように表示されます。
リクエストパラメータを取得する際に機密データを除外する
パスワードやクレジットカード番号などの機密情報をリクエストパラメータから省略したい場合があります。以下の設定でそれが可能になります。
Configuration:
attributes.include: request.parameters.*attributes.exclude: [request.parameters.password, request.parameters.credit_card_no]
特定のリクエストパラメータのみを取得
特定のリクエスト パラメータのみを取得するには、リストをattributes.include
に渡すだけです。
Configuration:
attributes.include: [request.parameters.user_id, request.parameters.shard_id]
キャプチャレスクの仕事論
デフォルトでは、Resqueのジョブ引数はキャプチャされません。この機能を有効にするには、以下の設定を行います。
attributes.include: job.resque.args.*
Note:
Resque ジョブへの引数は位置指定であり、生成されるキーにはこれが反映されます。たとえば、2 つの引数を取るジョブには、キーjob.resque.args.0
と job.resque.args.1
Sidekiqジョブの引数をキャプチャ
デフォルトでは、Sidekiqのジョブ引数はキャプチャされません。この機能を有効にするには、以下の設定を行います。
attributes.include: job.sidekiq.args.*
Note:
Sidekiq ジョブへの引数は位置指定であり、生成されるキーにはこれが反映されます。たとえば、2 つの引数を取るジョブには、キーjob.sidekiq.args.0
と job.sidekiq.args.1
すべてのアトリビュートを無効にする
この例では、属性が無効になっているため、includeとexcludeのリストは無視され、すべての属性がフィルタリングされます。
Configuration:
attributes.enabled: falseattributes.include: request.parameters.*
Input keys:
foo, bar, request.parameters.foo, request.parameters.bar
Output for destinations:
- transaction_tracer: なし
- error_collector: なし
- transaction_events: なし
- browser_monitoring: なし
特定の目的地を選択する
この例では
- トランザクション トレースでは、属性が無効になります。インクルード リストとエクスクルード リストは無視され、この宛先ではすべての属性がフィルタリングされます。
- の属性もデフォルトで無効になっています。
- リクエストパラメータ(プレフィックスが
request.parameters.
)は、すべての宛先でデフォルトでオフになっています。
その結果、トレースされたエラーとトランザクションイベントで送信されるのはbar
のみです。
Configuration:
attributes.enabled: truetransaction_tracer.attributes.enabled: falseattributes.exclude: foo
Input keys:
foo, bar, request.parameters.foo, request.parameters.bar
Output for destinations:
- transaction_tracer: なし
- error_collector: バー
- transaction_events: バー
- browser_monitoring: なし
値と目的地の選択
この例では、特定の出力先には特定の入力キーが選択され、他の出力先には選択されません。
food.fruit.banana
キーは、トランザクショントレースからのみ除外されます。food
キーとfood.vegetable
キーはすべての宛先から除外されます。
Configuration:
browser_monitoring.attributes.enabled: trueattributes.exclude: food*attributes.include: food.fruit.*transaction_tracer.attributes.exclude: food.fruit.banana
Input keys:
food, food.vegetable, food.fruit.apple, food.fruit.banana
Output for destinations:
- transaction_tracer: food.fruit.apple
- error_collector: food.fruit.apple、food.fruit.banana
- transaction_events: food.fruit.apple, food.fruit.banana
- browser_monitoring: food.fruit.apple, food.fruit.banana