本投稿は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 の APM、RUM (Browser)、Mobile、Serverless (AWS Lambda Function) で特定されたエラーが含まれます。この画面から、エラーをプロアクティブに検出し、優先順位付けすることができます。当社の豊富で相関性のあるデータは、根本原因に素早くたどり着くために必要なコンテキストを提供します。
チームや時間を超えたコラボレーション
マイクロサービスからなる分散システムにおけるエラーのトラブルシューティングでは、調査に時間がかかったり、誰がエラーの解消に責任を持つのかという論争になることがよくあります。ノイズを削減するために、New Relic Errors Inbox は関連するエラーをエラーグループにまとめ、すべてのチームに同じビューを提供します。アカウント、スタックトレース、リクエストパラメータのような属性などの詳細情報により、問題がどこにあるのか、どのチームに責任があるのかを簡単に判断することができます。チーム間で共有されたコメントが表示されるため、異なるチームが問題についてコメントすることが容易になります。
また、エラーデータは永続します。エラーが解決されたとしても、コメント、リンク、コンテキストはすべて残ります。問題が再発した場合、以前の対応の詳細や問題解決に関与した人を簡単に調べることができます。
Slackで通知を受け取る
Slackのようなコミュニケーションツールでの協業や作業に慣れている場合、Errors InboxにはSlackとの連携機能が組み込まれているので、エラーの詳細が送られてきたときに適切なチャネルにプロアクティブに通知することができます。設定は簡単です。
- Errors Inbox画面の右上にあるInbox Settingsアイコンを選択し、ワークスペースとチャンネルを選択します。
- 通知を送るSlackワークスペースとチャンネルを選択します。Testをクリックして、一般的なメッセージをチャンネルに送信します。正しく動作していることを確認したら、Saveをクリックします。
- これで完了です。選択したSlackチャンネルにエラー通知が流れてくるのがすぐにわかります。
本番環境に影響を与える前にエラーを知る
各インボックスは、New Relic のWorkloadに関連付けられています。Workloadでは、特定のアプリケーションやサービスをグループ化してモニタリングを行うことができます。Errors Inboxを使用する際のベストプラクティスは、本番環境と開発/ステージング環境で個別のWorkloadを作成することです。こうすることで、開発/ステージング環境で発生したエラーが通知され、開発プロセスで発生した問題を先取りすることができます。
Workloadの設定
- Workloadを設定したことがない場合、以下の手順ですぐWorkloadを作成することができます。
- New Relic One の [Workload views] タブに移動します。
- 右上のCreate a workloadをクリックします。
- 名前を入力し、検索バーを使用して、名前、タグ、またはエンティティタイプ(Lambda関数やMobile Appsなど)でアプリケーションやサービスの検索をします。
- 追加したいエンティティ、タグ、またはグループの横にある+Addをクリックします。個別のエンティティではなく、タグやグループを追加すると、タグやグループの更新が自動的にErrors Inboxに反映されます。
- 追加が完了したら、右下のCreate a workloadをクリックします。
Workloadの作成についての詳細は、こちらをご覧ください。
Errors Inboxを今すぐ使い始める
ワークロードを設定したら、Errors Inboxを簡単に設定することができます。
- [Errors Inbox]タブに移動します。左上のドロップダウンメニューでWorkloadを選択します。
- エラーグループが行で表示されます。右側のドロップダウンでユーザーを選択し、その人をエラーグループに割り当てることができます。
- エラーグループをクリックすると、アカウント、スタックトレース、属性などの詳細が表示されます。データの種類によっては、見られる情報が異なる場合があります。
- [Comment] タブでは、コメントを追加したり、他のユーザーがそのエラーについてどのようにコメントしたかを確認したりすることができます。
これで完了です。わずか数分の設定であらゆるエラーを一箇所で追跡することができ、お客様に影響を与える前に問題を優先順位づけして修正することが非常に簡単になります。
次のステップ
The views expressed on this blog are those of the author and do not necessarily reflect the views of New Relic. Any solutions offered by the author are environment-specific and not part of the commercial solutions or support offered by New Relic. Please join us exclusively at the Explorers Hub (discuss.newrelic.com) for questions and support related to this blog post. This blog may contain links to content on third-party sites. By providing such links, New Relic does not adopt, guarantee, approve or endorse the information, views or products available on such sites.