エラー分析: エラーの背後にあるイベントの調査

New Relic エージェントバージョン選択している期間によって、New Relic APM の Error analytics 機能は、以下のどちらかとなります。

  • イベントビュー。グループ化、フィルタリング可能であり、過去8日間の詳細なエラー情報を表示します。
  • メトリクスビュー。過去8日より前のエラーに関する、エラー率を表示します。
この機能の利用可否は、サブスクリプションレベルに依存します。

Error analytics ページ

Error analytics ページの表示手順は以下の通りです。

  • rpm.newrelic.com へアクセスし、APM > Applications > (選択したアプリ) > Events > Error analytics を選択します。

    もしくは

  • rpm.newrelic.com へアクセスし、APM > Applications > (選択したアプリ) > Monitoring > Overview を選択し、Error rate 表のタイトルを押します。

New Relic 標準の UI 機能ページ機能を使って、詳細情報へドリルダウンできます。

New Relic APM: Error analytics with alerts
APM > Applications > (選択したアプリ) > Events > Error analytics: Error rate チャートには、全エラーの割合と数を表示しています。より絞り込みを行いたい場合は、Top 5 errors チャートにあるグループ化やフィルター機能を使ってください。上記はアラート状態にあるアプリの例です。そのため、チャートの背景色には色が付いています。明るいピンクの範囲は、Warning 状態を意味しており、濃いピンクの範囲は、Critical 状態を意味しています。

Error analyticsイベントビューでは以下のことが行えます。

  • 最初のチャートの Error rates には、指定期間のエラー率を表示します。
  • 2番目のチャートの Top 5 errors では、エラー数を表示します。デフォルトで、エラークラス別にグループ化されています。Back to groupings list を選択して、別の基準でグループ化するように変更できます。エラー数は、現在のフィルター条件と選択されているグループに基づき、合計を計算しています。
  • Error tracesは、詳細情報を含む個々のトレースへのリンクもあります。エラークラスでグループ化し、トランザクション名でフィルタリングしている場合は、カウントは、Error traces 表にリストされている値と一致します。
  • Error frequency [エラー頻度] ヒートマップ
    は、色の濃淡を使って、問題の重要度のレベルをすぐに判定できます。

エラーの対象期間の変更

Error analytics イベントビューとタイムピッカーを利用して、過去一週間以上のエラーイベントの詳細を調査できます。エラーイベントビューでは、直近の8日間に収集した最大7日間のデータを確認できます。

タイプピッカーにおいて ending now を利用している場合、エラー数のわずかな違いに気づくかもしれません。リストと表に表示されるエラー数が、ページの自動更新などの要求によるわずかな時間差のため、異なる数を示すことがあります。

エラーレポートの上限

New Relic のエラーレポートの上限は、エージェントのインスタンスあたり、で1分 100 イベントです。これは、この機能によるアプリケーションのパフォーマンス低下を防ぐためです。エラー率がこの上限を超えた場合は、Too many errors [エラーが多すぎます]というバナーメッセージが Error analytics ページに表示されます。これは、New Relic が全部のエラーを記録していることではないことを示しています。

例:

  • アプリを 5 ホストで動いている場合: 100 イベント/分 × 5 インスタンス= 500 イベント/分 がレポート可能なエラー数の上限となります。
  • アプリが、1ホスト、10インスタンスで動いている場合: 100 イベント/分 x 10 インスタンス = 1000 イベント/分 が上限となります。

エラーイベントビューのワークフローの利用

以下は、Error analytics イベントビューを最大限使いこなすための、基本的なワークフローです。

  1. Error rate チャートを見て、想定外のスパイクや落ち込み、よくあるエラーパターンがないかチェックします。
  2. 同期間中に発生しているアラートの Top 5 errors チャートを見て、一般的なエラーのパターンと関連付けて考えます。グループ化、フィルターを利用して、エラーイベントや属性を詳細に確認していきます。そして、エラーメッセージやトランザクション名からパターンを探し出します。
  3. 関連するホストやユーザーのような特定のトレース情報を含むエラーのスタックトレースを確認したり、共有します。
  4. 指定期間で、(ホスト、エラーメッセージ、カスタム属性などで) グループ化し、Error frequency ヒートマップからエラーパターンを特定します。
エラー率チャート: パターンをすぐにチェック
Error rate チャートを見て、想定外の急激な増加、落ち込み、よくあるエラーパターンがないかチェックします。例えば、最近のデプロイの近くにスパイクはないか?など。他の過去のパターンを探すために、対象期間を変更して、他の過去のパターンを探すこともできます。

このチャートには、対象期間の全体のエラー率、エラー数が表示されます。これはページの他の部分をフィルターしたとしても、同じ情報を表示したままです。特定のエラータイプに絞り込みたい場合は、Top 5 errors チャートまたはError tracesを利用します。

New Relic APM: Error analytics
APM > Applications > (選択したアプリ) > Events > Error analytics: イベントビューの例です。Error rate チャートには、全エラーに関する発生率、発生数を表示しています。詳細を確認したい場合は、Top 5 errors においてグループかとフィルターを使ったり、Error tracesError frequency データをチェックしてください。

エラーのトップ5: アラートと Insights イベントの相関

Top 5 errors チャートから、Error rate チャートと同じ期間にどれくらいのエラーが発生したのか、どのようなエラータイプがあるのかを知ることができます。以下は例です。

  • エラーの急増に関連するクラスは?
  • 発生頻度の多いエラーは、最近本番環境に追加されたホストでも発生しているか?
  • 繰り返し発生する頻度の多いエラーメッセージは、特定の地域のホストとの接続に失敗していることを示しているか?
  • チャートの背景色は、アラート条件を示す色に変わっているか? (薄いピンクは、Warning の閾値に違反している、濃いピンクは Critical の閾値に違反していることを示している)
New Relic APM: Error analytics grouping and filters
APM > Applications > (選択したアプリ) > Events > Error analytics: HTTP レスポンスコード別にグループ化し、そのなかから、404 に関する傾向を分析するために,404 を選択している例です。Error rate チャートは、以前として全エラーを表示しています。しかし、Top 5 errors チャートは、404 のエラーのみを表示するように変わっています。

やりたいこと やること
“top 5” の変更 デフォルトでは、Top 5 errors チャートには、クラス別のトップ5を表示しています。エラーメッセージ、ホスト、トランザクション名などで他の属性でフィルターしたり、グループ化したり、カスタム属性を選択するには、検索窓を使うか、Back to groupings list を押します。
Insights にあるエラーデータの確認や共有 Top 5 errors チャートは、New Relic Insights のエラーイベントのデフォルト属性とこのイベントタイプに追加したカスタム属性を利用しています。詳細に Top 5 errors データを調査したり、他のメンバーと共有するには、チャートの下部でホバーすると表示される View queryView in Insights リンクを押します。
エラートレース: スタックトレース、フレームワークコードなど詳細なデータに潜る
Error traces 表は、2つのチャートの補足です。また、トランザクション名やエラークラス別にエラをグループ化します。表内のリンクから関連するエラートレースにアクセスできます。

New Relic APM: Error analytics traces sort
APM > Applications > (選択したアプリ) > Events > Error analytics: Changing the sort order on any Error traces 表の列の並び順を変えると、簡単に表示パターンを変更できます。上記は、エラーメッセージで並び替えている例です。そうすることで、execution expired メッセージに関連するパターンを簡単に特定できます。

各行は以下のような質問に答えることができます。

  • 指定期間中に発生したこのトランザクションやクラスの数は?
  • 直近のエラーメッセージは何ですか?
  • 最初と最後に発生したエラーはいつですか?

最も発生頻度の低い、または高いエラーのエラートレースを調査すると便利なことがあります。

  • どのエラーがもっとも発生頻度がすくないのか?
  • 特定のエラーの発生が止まった(最後に発生した)のはいつか?

並び順やフィルター条件を変えることで、もっとも関係のあるエラーのタイプのみにフォーカスすることができます。さらない、Error traces 表から、スタックトトレースへダイブしたり、関連するトランザクションを調査したり、チケットを作成したりできます

エラーの発生頻度: 過去との比較
特定の期間内の特定のカテゴリーにおけるエラー数とトレースを調べるには、Back to groupings list を押して、利用可能な属性から対象の属性を選択します。例えば、ホスト別のエラー数を比較したい場合は、グループ対象として、Host を選択し、個々のホストでフィルターすることで、そのホストのエラートレースのみを見ることができます。

New Relic APM: Error analytics frequency
APM > Applications > (選択したアプリ) > Events > Error analytics: 過去7日間のエラーメッセージ別にグループ化した Error frequency ヒートマップの例です。色が濃ければ濃いほど、その期間に発生したエラーが多いことを示しています。

濃淡のあるヒートマップを確認することで、パターンを識別しやすくなっています。色が濃ければ濃いほど、その期間中に発生したエラーが多いことを示しています。さらに深く調べるには、以下の詳細な情報を確認するために、ヒートマップのエリアを選択します。

  • 合計
  • 生成されたトレースの数
  • 期間
  • エラートレースの詳細

エラーメトリクスビューの利用

エラーメトリクスビューを使って、過去のエラーの傾向を分析できます。エラーイベントビューへのアクセスがないアカウント、エージェントやバージョン、そして対象期間外の場合メトリクスビューは利用可能です。

エラーメトリクスビューには、以下のコンポーネントがあります。

  • 指定期間のけるトランザクション名別のトップ5エラーの発生頻度のチャート
  • 全体のエラー率を示すアプリケーションの概要のメトリクス。アラートの状態、デプロイマーカーにより、情報を付加しています。
  • 対象期間内に最近発生したエラーのエラートレースの一覧。
New Relic APM: Error analytics metrics view
APM > Applications > (選択したアプリ) > Events > Error analytics: 選択した7日間の メトリクスビューの例です。デプロイマーカーはエラーが急増したり、急落した理由を特定するのに役立つことがあります。

関連情報

関連する情報は以下のとおりです。