APMエージェントはサポートされたフレームワークのエラーデータを自動的にレポートします。エラーレポートとアラートを最適化するには、以下のためにさらにエラーを管理できます。
- 当社がデフォルトで計測を行わないエラーを見つける 。
- レポートされたくないエラーを無視する。
- 想定されるエラーからノイズを絞り込んでパフォーマンスに影響を与えるエラーに集中できるようにします。(JavaエージェントとRubyエージェント、Nodeエージェント、.NETエージェントのみ)
デフォルトでインストゥルメントされていないエラーを収集する
APMエージェントにはエラーをレポート(または「通知する」)APIコールが含まれます。これらはAPMがフレームワークを自動でインストゥルメントしないときや、サポートされているフレームワークで見つけられない特定のエラーがあるときに役に立ちます。
エラーをレポートするAPMエージェントを取得する方法を学ぶには、エージェント固有のAPIドキュメントを参照してください。
- C SDK:
newrelic_notice_error()
- Go:
NoticeError()
- Java:
NoticeError()
- .NET:
NoticeError()
- Node.js:
noticeError()
- PHP:
newrelic_notice_error()
- Python:
record_exception()
- Ruby:
notice_error()
エラーを無視する
APMエージェントはユーザーログインのエラーのような機密情報が含まれるエラーなど、レポートされたくないエラーをインストゥルメントすることがあります。エラーをコレクターにレポートしない場合は、そのエラーを無視することでAPMエージェントはそのエラー全体を破棄します。
Java、Ruby、Node.jsの場合:エラーをAPMにレポートしたいが、これらのエラーをApdexまたはエラー率に影響させたくない場合は、想定されるエラーとしてマークを付けます。
エラーを無視するには次の2通りの方法があります。エージェント設定を通して、または次のUIのサーバーサイドコンフィグレーションを通して実行します。
- UIのサーバーサイドコンフィグレーションを使ってエラーを無視する
-
このオプションが利用できるかは、エージェントがサーバーサイドコンフィグレーションに対応しているかどうかによります。
- すでに有効になっていなければ、サーバーサイドコンフィグレーションを有効にします。
- 無視したいエラーがあるアプリケーションのServer-side configurationメニューに移動します。
- Error collectionの下で、Ignore from error collectionを検索します。無視したいエラーのHTTPコードまたはErrorクラスを追加します。
- Save server-side configurationを選択します。
- エージェント設定を使ってエラーを無視する
-
エージェント設定を使ってエラーを無視するには、お使いのエージェントの設定向けのドキュメントを参照してください。
- C SDK: 利用不可。詳細については、GitHubでC SDKのエラーの例を参照してください。
- Go:
ErrorCollector.IgnoreStatusCodes
. - Java:
error_collector.ignore_classes
、error_collector.ignore_classes.message
、またはerror_collector.ignore_status_codes
。追加情報については、「Javaエージェントのエラー設定」を参照してください。 - .NET:
ignoreErrors
またはignoreStatusCodes
。 - Node.js:
ignore_status_codes
、ignore_classes
、またはignore_messages
。 - PHP:
error_collector.ignore_exceptions
またはerror_collector.ignore_errors
。 - Python:
error_collector.ignore_errors
またはerror_collector.ignore_status_codes
。 - Ruby:
error_collector.ignore_errors
。
想定されるエラー(JavaおよびNode.js、Ruby、.NETのみ)
RubyエージェントおよびJavaエージェントの場合は、想定されるエラーとしてマークを付けることができます。これらのエラーはAPMにレポートされ、表示されますが、Apdexまたはエラー率(またはエラー率を基にしたアラート条件)には影響しません。
想定されるエラーを設定するには、エージェント固有のドキュメントを参照してください:
想定されるエラーが有効化されている場合、APMのError analytics(エラー分析)ページには、デフォルトでfalse
に設定されたerror.expected
属性でフィルターが適用されます。これは、想定されるエラーが表示されないことを意味します。予想されるエラーを表示するには、error.expected
フィルターをオフにしてください。
想定されるエラーを表示するには、データのクエリを行います:
- 想定されるエラーのチャートを表示するには、
error.expected
属性のクエリを作成します。 - NRQLクエリ用のアラート条件を作成するには、
error.expected
属性を使用します。
UIのエラーを表示
その他に、エラーデータはNew Relic UIの次の部分に表示されます。
- エラー分析ページ:エラーについての詳細なチャートや視覚的分析を表示します。
- APMの概要ページ:お使いのアプリケーションの高度なビューを表示し、それにはエラーが含まれます。
- アラート条件:エラー率に基づきます。
transactionError
イベント: 潜在的なエラーデータを含んでおり、NRQLクエリで使用できます。