このドキュメントでは、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.barOutput for destinations:
- transaction_tracer: なし
- error_collector: なし
- transaction_events: なし
- browser_monitoring: なし
特定の目的地を選択する
この例では
- トランザクション トレースでは、属性が無効になります。インクルード リストとエクスクルード リストは無視され、この宛先ではすべての属性がフィルタリングされます。
- の属性もデフォルトで無効になっています。
- リクエストパラメータ(プレフィックスが
request.parameters.)は、すべての宛先でデフォルトでオフになっています。
その結果、トレースされたエラーとトランザクションイベントで送信されるのはbarのみです。
Configuration:
attributes.enabled: truetransaction_tracer.attributes.enabled: falseattributes.exclude: fooInput keys:
foo, bar, request.parameters.foo, request.parameters.barOutput 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.bananaInput keys:
food, food.vegetable, food.fruit.apple, food.fruit.bananaOutput 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