Webアプリケーションに障害やエラーが発生した場合、誰が問題の発見と修正に責任を持つのでしょうか?フロントエンドのエンジニアがUIのエラーを修正したり、バックエンドのエンジニアがAPIをデバッグしたりするかもしれませんが、問題の原因がはっきりしない場合はどうするのでしょうか?
多くの問題は、チーム間の曖昧な境界線上にあり、正確な原因は不明で、どちらのチームも問題解決の主導権を握っていません。このような問題は、見過ごされてしまうことが多く、特にすぐに問題が発生していない場合には、後になってチームが修正しなければならない技術的負債をさらに増やすことになります。
ワークロードとNew Relic OneのNew Relic Errors Inboxを組み合わせることで、チームがあいまいな境界を越えてコラボレーションし、問題を迅速に解決できるようになります。ワークロードでは、関連するアプリケーションやサービスをグループ化することができ、チームは自分が担当するアプリケーションやサービスを監視することができます。New Relic Errors Inboxでは、関連するエラーをグループ化し、エラーの検出、トリアージ、解決を行うことができます。それでは、ワークロードを使ってNew Relic Errors Inboxを設定する方法をご紹介します。
ワークロードを利用したWebアプリの可視化
ワークロードでは、監視している特定のアプリやサービスのグループを作成することができます。New Relic One では、これらの個々のアプリやサービスをエンティティと呼びます。エンティティとは、ウェブやモバイルなど、顧客向けのアプリケーションを動かす個々のコンポーネントのことです。例えば、フロントエンドの開発チームが自社のEコマースサイトを担当している場合、WebサイトやWebアプリだけでなく、アプリケーションをサポートするために必要なバックエンドサービスをすべて包含したワークロードを作成します。
サービスの内容が常に変化している場合でも、タグによってワークロードが自動的に更新され、関連するエンティティが含まれるようになります。次の画像は、タグの例を示しています。
ワークロードの設定方法
ワークロードを設定する前に、アプリケーションを計装する必要があります。観測可能なデータがNew Relicに入ったら、サービスをグループ化するためのワークロードを設定する準備が整います。
- Workload viewsに移動し、+ Create a workloadを選択します。
- ワークロードに説明的な名前を付けてから、ワークロードに追加するエンティティを選択します。これは、エンティティの種類(Browser Applicationsなど)、タグ、または他のワークロードでも行うことができます。また、特定のエンティティをワークロードに追加することもできます。エンティティを選択した後、Create a workloadを選択します。
- サービスの健全性を一目で把握することができます。右側のWorkload statusセクションでは、どの特定のエンティティで障害が発生しているかを知ることができます。 また、Explorerでもワークロードを監視することができます。
Errors Inboxでチームでエラーを解決
アプリケーションを計装し、ワークロードを作成し、クロスファンクショナルなチームにアクセスを提供したら、New Relic Errors Inbox を使用する準備が整います。
画面右側のErrorsモジュールでGo to errors inboxのリンクを選択すると、ワークロードからErrors Inboxに直接移動できます。
また、メニュー項目を選択してErrors Inboxに移動することもできます。View workloadを選択すると、関連するワークロードに戻ります。
APM、ブラウザ、モバイル、またはサーバーレスのデータからエラーが検出されると、Errors Inboxはそれらのエラーを1つの画面にまとめ、発生回数の多い順にフィルタリングします。発生していることに気づかなかったエラーを発見したり、エラーの根本的な原因を把握して、適切なチームに素早く割り当てることができるかもしれません。
エラーグループを選択すると詳細画面が表示され、スタックトレースの確認や特定の属性の調査、コメントの記入などが可能です。
エラーの状況を時系列で保存したり、ディスカッションでチームメイトとのコラボレート
以前はコメントと呼ばれていたDiscussionsタブには、より詳細で組織的なコラボレーションのための機能が追加されています。ディスカッションでは、次のようなことができます。
- スレッド化された会話。
- トップレベルのコメントに直接返信してスレッドを作成し、どんなエラーについても議論することができます。
- コメントの削除
- 投稿内容は削除されますが、comment deletedのメッセージが残ります。
- Markdownへの対応
- Markdownでコメントにスタイリングやリンクを追加できます
- Markdownのプレビュー
- Mのアイコンを選択すると、コメントをプレビューすることができます。
- エラーコンテキストの保存
- コメントは時間が経過しても保存されるため、エラーが再度開かれた場合、将来の共同作業者は前回の修正のコンテキストをすぐに理解することができます。
Slackでのチームメンバーとのコラボレーション
Slack通知を設定すると、特定のグループに関連するエラーメッセージが、トリアージのためのチームのSlackチャンネルに自動的に送信されます。これらの通知をカスタマイズして、チームが業務に関連するエラーグループに関連する通知のみを受け取るようにすることもできます。
これにより、New Relic にアクセスしていない人も含め、Slack 上のチームと簡単にコラボレーションすることができます。Slackの統合についての詳細は、New Relic Errors InboxでSlackとAPMを統合するをご確認ください。
本ブログに掲載されている見解は著者に所属するものであり、必ずしも New Relic 株式会社の公式見解であるわけではありません。また、本ブログには、外部サイトにアクセスするリンクが含まれる場合があります。それらリンク先の内容について、New Relic がいかなる保証も提供することはありません。