より強化されたNew RelicのErrors Inbox：New Relicの新機能を一緒に見てみよう

# 概要

　稼働中のシステムでエラーが発生した場合にアプリケーションが出力したログを確認するのが一般的です。New Relic でも Logs の機能を使って同じようにログから発生しているエラーを確認することが可能です。
　しかし、New Relicには Errors Inbox という強力な機能があり、類似した複数のエラーをまとめて管理することが可能です。Errors Inbox は、エラーの発生件数やステータス（解決、未解決、無視）、対応する担当者のアサイン状況等を確認することが可能です。まとめて管理することでアプリケーション全体のエラーの発生状況が確認できるため、対処の優先順位付けが容易になります。また、調査が必要なエラーを絞り込んでノイズを減らし、対処すべきエラーに集中することが可能です。

　今回New Relicに存在していた **Errors Inbox** と **Erros** という2つの機能が新しく **Errors（errors inbox）** という1つの画面に統合されました。これにより、1つの画面上で **Triage** と **Group Errors** のタブを切り替えることにアプリケーションで発生したエラーをユーザーへの影響度合いを基準にランキング形式で確認したり、任意の項目でグルーピングしたりすることでエラーの分析ができるようになっています。

:::note info
このアップデートの詳細はこちら。
[New Relic アップデート(2023年4月)](https://newrelic.com/jp/blog/nerdlog/new-relic-update-202304 "New Relic アップデート(2023年4月)")
[New Relic アップデート一覧](https://newrelic.com/jp/blog/nerdlog/new-relic-update "New Relic アップデート一覧")
:::

　アップデートされたErrorsのメニューは、New Relic Browser、 New Relic APM の2つです。
それでは実際に機能を確認していきましょう。

# どこから確認できるの？

　New Relic Browser、 New Relic APM のメニューから Erros　の画面を開くことができます。
![errorsメニュー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/1bf7d5c2-6f18-cdbb-4aa5-96cb79e135ff.png)

# Triageタブでは何が確認できるの？
　Triageでは、アプリケーションで発生したエラーをError Groupにグループ化して表示されるのが特徴です。フィンガープリントが同じ場合にグループ化されます。
　従来のErrors Inboxの機能を引き継いでいてエラーグループ毎にエラーの状態を設定したり、担当者を割り当てたりすることが可能です。
![Triage_New Relic Browser.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/dcd92f33-c7d8-c5b5-53a8-4757e6e0b742.png)
　以下の赤枠内に表示されているのがエラーの影響を受けているユニークユーザー数です。
![User Impacted.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/aa3ca347-d329-39ef-adf1-d77da836d440.png)
　ユーザー数のカウントには、New RelicのAPMエージェントやBrowserエージェントが持つカスタム属性の機能を活用しています。カスタム属性の項目名に `enduser.id`、`userId`、`user` が設定されている場合にユーザー数としてカウントされます。カスタム属性の設定方法は、[公式ドキュメント](https://docs.newrelic.com/jp/docs/data-apis/custom-data/custom-events/collect-custom-attributes/#enabling-custom)や[こちらのブログ](https://newrelic.com/jp/blog/how-to-relic/php-application-custom-attributes-setup-and-usage "PHPアプリケーションのカスタム属性のセットアップと活用")を参考にしてください。

https://docs.newrelic.com/jp/docs/data-apis/custom-data/custom-events/collect-custom-attributes/#enabling-custom

https://newrelic.com/jp/blog/how-to-relic/php-application-custom-attributes-setup-and-usage

また、`enduser.id`を設定する関数も公開しています。Qiitaの記事で紹介しているのでこちらも参考にして下さい。

https://qiita.com/MarthaS/items/3086b891683fd121b571

# Group errorsタブでは何が確認できるの？
　Group errorsでは、エラーのイベントが持つ任意の項目でエラーをグループ化して独自の切り口でエラーを分析できることが特徴です。たとえば、セッション毎やトランザクション毎、ユーザー毎のエラー発生件数を把握することが可能です。
![Group errors.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/10557707-f015-5738-9514-edec73298e22.png)
　**Group by**でグループ化するキーになる項目を選択することで一覧に表示されているエラーをグループ化することが可能です。最大5つまで選択が可能です。3つまで一覧に列が追加されますが、4つ目以降は３列目にカンマ区切りで表示されます。
![Group errors_Group by.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/98a3f7d3-d958-d58e-fdf2-a8af8d4f9043.png)
　**Filter by**で属性値をキーとした条件を設定することでエラーのフィルタリングが可能です。クリックすると条件に設定が可能な属性の一覧が表示されます。
![Group errors _filter by.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/58b59cd5-6a96-6edb-2b3b-46a2f3c53285.png)
　Group errorsタブで表示されるエラーの詳細画面には設定したフィルタリングやグループ化の条件を反映されています。また、詳細画面のTriageにはTriageタブで表示されているエラーグループを表示しており、**Error group name**からTriageタブのエラー詳細画面を開くことが可能です。
![Group errors_details.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/5a3ec201-943d-1a67-e401-e4cf718318af.png)

# まとめ
　今回のアップデートによって、Triageを活用してアプリケーション全体のエラーに対して優先順位をつけた対応が可能になり、Group errorsで特定のエラーに焦点を当てた調査が可能になりました。加えて、Group errorsを活用した特定のエラーをスタート地点とした調査で同様のエラーが発生している状況をTriageの情報とシームレスにつながることでアプリケーションに与えている影響をマクロな視点で捉えることを可能にしています。
　エラーを調査する際に、ぜひ一度お試しください。

:::note info
このアップデートの詳細はこちら。
[New Relic アップデート(2023年4月)](https://newrelic.com/jp/blog/nerdlog/new-relic-update-202304 "New Relic アップデート(2023年4月)")
[New Relic アップデート一覧](https://newrelic.com/jp/blog/nerdlog/new-relic-update "New Relic アップデート一覧")
:::