本投稿はError Tracking Across Your Entire Stack with New Relic Errors Inboxの意訳です。

 

エラーにまつわる開発者の悩み

 

本番環境のエラーを調査・追跡するのに時間がかかりすぎて、いつも対応に追われていませんか?もしそうであれば、エラーが深刻な影響を及ぼす前にプロアクティブに検知し修正するために、良い方法を探っているところかもしれません。願わくば、既にE2Eテスト、継続的インテグレーション、その他のベストプラクティスを活用して、より良いコードを本番環境にデプロイしていることを確認してほしいと思います。しかし、たとえそれらを実践していても、特にアプリケーションが大規模で複雑になるにつれ、ストレスを感じるエラーに遭遇することがあるでしょう。

だからこそ、お客様に影響を与える重大なエラーを、チケットが起票される前に追跡する仕組みを持つことが重要です。でないと開発者は、エラーを特定し優先づけするために労力を割かなければいけなくなります。このプロセスを効率化し、開発者の生活をより快適にするために、New RelicはErrors Inboxという機能を提供しています。これにより、すべてのエラーの通知を1か所でプロアクティブに受け取り、それらのエラーについてチーム間で簡単にコミュニケーションをとることができます。

 

Errors Inboxを使ってみて、New Relicがスタック全体のエラーを一箇所で追跡できる機能を提供していることに感銘を受けています。これにより、開発者は、クラウドベースのツールやエラートラッキングのための外部ツールなどの複数のツールを探し回る必要がなくなり、時間を節約することができます。

Mudit Mehta, Software Engineer II, Postman

 

 

エラー対応をリアクティブからプロアクティブへ

 

大抵のチームは、エラーをエラー発生率で追跡し、あらかじめ定義された閾値を超えたときにのみアラートを受け取ります。もしくはもっと悪いケースとして、お客様や他のエンドユーザがエラーを発見し、問い合わせをすることで気づくこともあります。お客様に影響を与えるようなエラーを手遅れになってから知るというのは、ありがちな問題です。

New Relicのエラートラッキングツールは、開発者が重大なエラーに対してよりプロアクティブに対応できるように導入されました。エラートラッキングツールを使用すると、類似したエラーをグループ化し、どのアプリケーションやサービスが問題なのかを特定することができます。また、エラーのグループを簡単に優先順位付けすることができ、重要なエラーは適切なチームに割り当てられ、重要でないエラーは無視したり優先順位を下げたりすることができます。

 

 

1つの画面でありとあらゆるコンポーネントからのエラーをトラッキング

 

New Relicでは、常に開発者を念頭に置いてソフトウェアを開発しています。Futurestack 2021でNew Relic Errors Inboxのリリースを発表したのもそのためです。Errors Inboxは、Full Stack Observability(FSO)ライセンスに含まれているエラートラッキングツールです。

Errors Inboxは、スタック全体のあらゆるエラーに対処するための統合UIとして構築されました。これには、New Relic の APMRUM (Browser)MobileServerless (AWS Lambda Function) で特定されたエラーが含まれます。この画面から、エラーをプロアクティブに検出し、優先順位付けすることができます。当社の豊富で相関性のあるデータは、根本原因に素早くたどり着くために必要なコンテキストを提供します。

 

 

チームや時間を超えたコラボレーション

 

マイクロサービスからなる分散システムにおけるエラーのトラブルシューティングでは、調査に時間がかかったり、誰がエラーの解消に責任を持つのかという論争になることがよくあります。ノイズを削減するために、New Relic Errors Inbox は関連するエラーをエラーグループにまとめ、すべてのチームに同じビューを提供します。アカウント、スタックトレース、リクエストパラメータのような属性などの詳細情報により、問題がどこにあるのか、どのチームに責任があるのかを簡単に判断することができます。チーム間で共有されたコメントが表示されるため、異なるチームが問題についてコメントすることが容易になります。

また、エラーデータは永続します。エラーが解決されたとしても、コメント、リンク、コンテキストはすべて残ります。問題が再発した場合、以前の対応の詳細や問題解決に関与した人を簡単に調べることができます。

 

 

Slackで通知を受け取る

 

Slackのようなコミュニケーションツールでの協業や作業に慣れている場合、Errors InboxにはSlackとの連携機能が組み込まれているので、エラーの詳細が送られてきたときに適切なチャネルにプロアクティブに通知することができます。設定は簡単です。

  1. Errors Inbox画面の右上にあるInbox Settingsアイコンを選択し、ワークスペースとチャンネルを選択します。ナビバーの右上にあるInbox Settingsをクリックして、Slackの通知を設定
  2. 通知を送るSlackワークスペースとチャンネルを選択します。Testをクリックして、一般的なメッセージをチャンネルに送信します。正しく動作していることを確認したら、Saveをクリックします。エラー通知を行うSlackワークスペースとチャンネルを選択
  3. これで完了です。選択したSlackチャンネルにエラー通知が流れてくるのがすぐにわかります。SlackにErrors Inboxからのエラーメッセージが表示

 

 

本番環境に影響を与える前にエラーを知る

 

各インボックスは、New Relic のWorkloadに関連付けられています。Workloadでは、特定のアプリケーションやサービスをグループ化してモニタリングを行うことができます。Errors Inboxを使用する際のベストプラクティスは、本番環境と開発/ステージング環境で個別のWorkloadを作成することです。こうすることで、開発/ステージング環境で発生したエラーが通知され、開発プロセスで発生した問題を先取りすることができます。

 

 

Workloadの設定

 

  1. Workloadを設定したことがない場合、以下の手順ですぐWorkloadを作成することができます。
  2. New Relic One の [Workload views] タブに移動します。
  3. 右上のCreate a workloadをクリックします。
  4. 名前を入力し、検索バーを使用して、名前、タグ、またはエンティティタイプ(Lambda関数やMobile Appsなど)でアプリケーションやサービスの検索をします。
  5.  追加したいエンティティ、タグ、またはグループの横にある+Addをクリックします。個別のエンティティではなく、タグやグループを追加すると、タグやグループの更新が自動的にErrors Inboxに反映されます。
  6. 追加が完了したら、右下のCreate a workloadをクリックします。

Workloadの作成についての詳細は、こちらをご覧ください。

 

 

Errors Inboxを今すぐ使い始める

 

ワークロードを設定したら、Errors Inboxを簡単に設定することができます。

  1. [Errors Inbox]タブに移動します。左上のドロップダウンメニューでWorkloadを選択します。ナビバーのドロップダウンにNew Relic Oneのワークロードが表示されている例
  2. エラーグループが行で表示されます。右側のドロップダウンでユーザーを選択し、その人をエラーグループに割り当てることができます。Errors inboxのエラーグループ
  3. エラーグループをクリックすると、アカウント、スタックトレース、属性などの詳細が表示されます。データの種類によっては、見られる情報が異なる場合があります。例外、スタックトレース、および属性を含むエラーグループの詳細
  4. [Comment] タブでは、コメントを追加したり、他のユーザーがそのエラーについてどのようにコメントしたかを確認したりすることができます。エラーの修正に関連するコメント

これで完了です。わずか数分の設定であらゆるエラーを一箇所で追跡することができ、お客様に影響を与える前に問題を優先順位づけして修正することが非常に簡単になります。

 

 

次のステップ

 

Errors Inboxにはいろいろな機能があります。動画ドキュメントを参考にして活用を進めてください。