• English日本語한국어
  • ログイン今すぐ開始

この機械翻訳は参考用に提供されます。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、こちらのページをご覧ください。

問題を作成する

New Relicに処理済のエラーを送信

エラーデータをNew Relicに送信して、独自のコードで処理していることを伝えるには、RubyエージェントのAPI NewRelic::Agent.notice_error呼び出しをエラー処理システム内で使用します。

エラーについてNew Relic Rubyエージェントに伝える

このAPIコールは、例外と任意のオプションハッシュを取ります。次のフォーマットを使用してください:

NewRelic::Agent.notice_error(exception, options = { })Object

この関数は、所与のエラーを記録して、仮に定義した場合は設定ベースのエラー無視とグローバルな#ignore_error_filter手法を含む、通常のエラーフィルタリングプロセスに渡します。

exceptionは、記録される例外もしくはエラーメッセージになります。必要であれば、options = { }を含めることもできます。以下のパラメーターは特別な扱いを受けます。また、他の用意するその他のパラメーターもカスタムパラメーターとして扱われます。

options = { }

コメントコメント

:expected

エラートレースのみを記録。これは、エラー率またはApdexステータスに作用しません。UIで予期されるエラーの詳細に関しては、予期されるエラーを表示を参照してください。

Rubyエージェントのバージョン4.3.xで非推奨となった:trace_onlyオプションを置き換えます。

:custom_params

カスタムパラメーター

:uri

リクエストパスから、リクエストパラメーターまたはクエリ文字列を差し引いたもの。

通常は必要ありません。トランザクション外でnotice_errorを呼び出すときにのみ含めます。

:metric

トランザクションと関連したメトリック名。

通常は必要ありません。トランザクション外でnotice_errorを呼び出すときにのみ含めます。

:request_params (非推奨)

古いRubyエージェントのバージョンでは、:request_paramsオプションを渡すことができましたが、現在は無視されます。リクエストパラメーターを記録する必要がある場合は、トランザクション内でこの方法を呼び出すか、情報を:custom_paramsに渡します。

エラー フィンガープリント: 検出された各エラーにエラー グループを動的に適用します。

エラー発生が適切にグループ化されていませんか?コールバック関数を使用して、独自のエラーフィンガープリントを設定します。

Procベースのコールバックをエージェントに提供して、通知された各エラーに目的のエラーグループを動的に適用できます。RubyエージェントAPI NewRelic::Agent.set_error_group_callbackを使用して、エージェントにコールバックを提供します。

このAPI呼び出しは、コールバックメソッド(Proc型である必要があります)を唯一の引数として扱います。引数は必須です。API呼び出しは、New Relic Rubyエージェントの起動ごとに1回のみ行う必要があるため、Railsの初期化子などに呼び出しを配置できます。APIへの後続の呼び出しが行われると、コールバックメソッドは指定された最新のものに更新されます。以下は、コールバックが定義され、NewRelic::Agent.set_error_group_callback APIメソッドに渡される例です。

proc = proc { |hash| "Access" if hash[:'http.statusCode'] == 401 }
NewRelic::Agent.set_error_group_callback(proc)

示されている例では、ハッシュを唯一の引数として受け入れ、ハッシュに値401のHTTPステータスコードキーが含まれる場合、目的のエラーグループ名に対して文字列の「Access」を返すコールバックprocが作成されます。

コールバックprocは、正確に1つの入力引数(ハッシュ)を受け取ることが想定されます。ハッシュには以下が含まれます。

価値

:error

Rubyエラークラスのインスタンス。#class#messageを提供 #backtrace

:customAttributes

現在のトランザクションのカスタムアトリビュート

:'request.uri'

利用可能な場合、現在のリクエストURI

:'http.statusCode'

利用可能な場合、HTTPステータスコード(200、404など)

:'http.method'

利用可能な場合、HTTPメソッド(GET、PUTなど)

:'error.expected'

予期されていたエラー(true)かどうか(false)

:'options'

オプションのハッシュが渡されました NewRelic::Agent.notice_error

コールバックprocは、目的のエラーグループ名を決定できる場合、その名前を表す文字列を返すことが想定されます。procがnilまたは空の文字列('')を返すと、エラーはサーバー側のグループ化ロジックを受け取ります。

ユーザー追跡: ユーザー ID を各トランザクションおよびエラーに関連付ける

これで、エラーグループの影響を受けるユーザー数を確認できます。

New Relic RubyエージェントがユーザーIDを認識している場合、トランザクションとエラーをユーザーIDに関連付けることができます。RubyエージェントAPI NewRelic::Agent.set_user_idを使用して、エージェントにユーザーIDを指定します。

このAPI呼び出しには、エンドユーザーの一意の識別子を表す文字列の単一の引数が必要です。この文字列は、UUID、データベースIDなどです。API呼び出しは、トランザクションごとに少なくとも1回実行し、トランザクションを関連付けるユーザーIDをNew Relic Rubyエージェントに通知する必要があります。次に、トランザクションの有効期間中にエージェントがエラーに気付く場合、エラーにはユーザーID値を保持するenduser.idエージェント属性が含まれます。

新規ユーザーIDがスコープに入るたびに、API呼び出しを想定しているため、理想的には、ユーザーセッションの作成を認識するミドルウェア経由で呼び出されます。New Relic Rubyエージェントは、ユーザーIDを認識すると、現在のトランザクションと、現在のトランザクションの有効期間中に通知されたエラーにenduser.idエージェント属性を指定します。

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.