エラープロファイル: 問題の傾向

アプリでエラーが発生している場合、DevOps のエキスパートがその原因を簡単に特定できるとは限りません。AI を利用している New Relic APM のエラープロファイル機能は、自動的に1つのイベントセットを別のイベントセットと比較します。

各エラープロファイルは、イベントの異なる値の頻度の重要な違いを視覚化します。各属性のエラー・プロファイルには次のものが含まれます。

  • 最も偏差のある値に対してエラーの属性がどのように分布しているかを示す円グラフ
  • エラー属性の分布をエラーのないトランザクションの分布と比較する表

上記の情報から、アプリで起きているエラーを解決する際に、より適切な推測を行えるようになります。エラーを無視してもいいのか、はたまた、新しくデプロイしたり、コードを修正したり、顧客と連絡をするなどの行為を行うことで、エラーを解決できるかの判断がしやすくなります。

この機能の利用可否は、サブスクリプションレベルに依存します。

エラープロファイル属性の例

エラープロファイルは、New Relic APM の Error analytics ページに別タブとして表示されます。

New Relic APM のエラープロファイル機能
New Relic APM: Error profiles example
rpm.newrelic.com/apm > (選択したアプリ) > Events > Error analytics > Error profiles: エラープロファイルを使って、アプリで発生しているエラーイベントの頻度に関する大きな傾向と相違点を見ることができます。

エラープロファイルは、エラーではないの場合と比較して著しく異なる特徴をもつ属性の集合です。あるイベントの集合が通常のイベント(例えば、ある期間における全てのトラフィックに対してのエラー)、または似ている条件間の差分(例えば、2台のホスト間)を代表するものである場合、属性は “unusual” であると言います。

エラーは以下のイベントに関連している可能性があります。

  • 特定の Web トランザクション名や Web 以外のトランザクション名、JVMスレッド名など
  • エラーメッセージ、クラスなどの一意のタイプ
  • ランダムな顧客インタラクション。たとえば、あるエラーは特定の顧客のアカウントで発生している。通常のトラフィックは複数のアカウントから来ている場合
  • 外部呼出し数や処理時間
  • エコシステム内のホスト、クラスターエージェント IDなどの間のタイミングの差
  • その他の異常

エラープロファイル基準を選択

Error analytics ページにある基準に基いて異常な傾向を分析し、その重要度でリストします。基準として以下の選択内容も利用します。

  • タイムウィンドウ
  • Error analytics ページのフィルター
  • Error analytics ページや Error profiles タブ上の検索条件

エラープロファイルの結果をさらに深く掘り下げたい場合は、アプリのエラープロファイル基準を追加したり、変更してください。そうすると、Error profile タブが更新され、指定し条件に一致するエラーを識別する特性が表示されます。

Error profile 条件の例

アプリの Error profile タブには、エラークラスやメッセージが表示されます。特定のエラークラスまたはメッセージのフィルタに、次のオプションが利用可能です。

  • Error analytics ページのタイムピッカーから期間を変更します。たとえば、デフォルト(30分)を Last 24 hours, ending now [過去24時間]に変更します。
  • Error analytics ページのフィルター [filter icon] セクションで、Back to groupings list [グループ化リストに戻る]を選択してから、Error groups, Error attributes, Custom attributes を選択します。
  • Error analytics ページのフィルタ [filter icon] セクションで、リスト上の特定の項目をクリックし、その項目で絞り込みます。たとえば、複数のエラーメッセージが表示されている場合は、気になるメッセージをクリックします。
  • Error profiles タブの検索 [search icon] ボックスに、class, message やその他の検索値を入力します。
New Relic APM: Error analytics profile tab
rpm.newrelic.com/apm > (select an app) > Events > Error analytics: Error profiles タブに表示される情報を制限や拡張できるオプションがあります。

エラープロファイルの結果を分析する

属性の詳細を調べると、アプリのエラープロフィールが表示されます。

  1. rpm.newrelic.com/apm > (選択したアプリ) > Events > Error analytics にアクセスします。
  2. Error analytics ページから、Error profile タブを選択します。
  3. Error profile タブで、現在選択されているエラープロファイルの条件に一致するエラー属性のリストを確認します。
  4. 属性の詳細をクリックすると、特定の属性の詳細情報を表示します。
  5. 属性の円グラフの部分や表の行の上にマウスを載せると、特定のエラー詳細が強調表示されます。
  6. エラーの特定の属性を調査するには、Error profiles タブの検索ウィンドウに属性名を入力するか、現在選択されているエラープロファイルの条件を変更します。

大きな差異を持つ値を比較して、属性におけるエラーを区別している特性を確認できます。エラープロファイル結果の比較データと、エラートレースの詳細を確認することで、より迅速に原因が特定できたり、対策を検討することができるようになります。

エラーとエラー以外の分布

エラーの属性により、属性はエラー以外のものよりもエラーによって違ったものに分布する場合があります。

偏差値の上位
New Relic は、アプリのエラーの各属性を分析し、条件に一致するエラーの分布をエラーのないトランザクションと比較します。このエラー比率が、エラーのないトランザクションとほぼ同じである場合、この属性にはデバッグに役立つ情報はあまりないことを示しています。

エラープロファイルの円グラフと表の内容は、各属性に制限された上位の偏差値のみを表示します。比率がほぼ同じ場合、エラープロファイルにそれらを含めません。

その他のカテゴリ
上位偏差値の後、残りを Other [その他]カテゴリに分類します。これにより、エラーの異なる値にのみ集中できます。
値なしカテゴリ
値が、通常存在しないべき場合に存在する、もしくは存在しない場合は、エラープロファイルのリストに No value カテゴリが表示されることがあります。
フィルター
フィルターを選択していない場合、プロファイルには、エラーが集計により識別可能な特性が表示されます。

例: 特定の種類のトランザクションがトラフィックの20%を占め、それが、エラーの 80% を占めているとします。エラープロファイルには、Transaction 属性には想定外の割合が表示されます。

エラープロファイルの条件を調整することで、プロファイル結果をさらに深く掘り下げることができます。そうすることで、特定のエラーイベントをより効率良く調査できます。