• EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

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

問題を作成する

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 = { }

Comments

: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つの入力引数(ハッシュ)を受け取ることが想定されます。ハッシュには以下が含まれます。

Key

Value

: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エージェント属性を指定します。

バージョン追跡: メタデータを使用して、どのバージョンでエラーが発生したかを確認します。

エラー受信トレイは、ソフトウェアのどのバージョンでエラーが発生しているかを自動的に追跡します。 バージョンデータもCodeStreamに表示されます。

エラーが発生するソフトウェアのバージョンを特定するために、次のいずれかの環境変数を設定します。

  • NEW_RELIC_METADATA_SERVICE_VERSION デプロイされたコードのバージョンを含むエラー イベント データに属性tags.service.versionを追加します。多くの場合、 1.2.3などのセマンティック バージョンですが、常にそうであるとは限りません。
  • NEW_RELIC_METADATA_RELEASE_TAG リリース タグ ( v0.1.209release-209など) を含むイベント データに属性tags.releaseTagを追加します。
  • NEW_RELIC_METADATA_COMMIT コミット sha を含むイベント データに属性tags.commitを追加します。 sha 全体を使用することも、最初の 7 文字だけを使用することもできます (例: 734713b )。
Copyright © 2024 New Relic株式会社。

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