1K Views
May 27, 24
スライド概要
株式会社ソニックムーブによる勉強会「Webフロントエンドの新定番!?Sentryが攻略するエラーの迷宮 part1」のスライドです。
SentryのAlerts機能の活用として、Slack Integration機能の併用による特定の通知をSlackに送る方法などを紹介しました。
BtoCサービスのUX・CRM設計とその実現を得意とするLINEアプリ開発、Webシステム開発、スマホアプリ開発会社のソニックムーブです。勉強会スライドを公開します。
Sentryの Alerts機能を 活用しよう 株式会社ソニックムーブ 開発部フロントエンドユニット 森 紘隆
登壇者プロフィール 森 紘隆(もり ひろたか) 4年目のフロントエンドエンジニア。 Nuxt.jsやNext.jsが好き。 最近Flutterでアプリ開発もやってます。 カメが好き(リクガメ飼ってます) Github -> https://github.com/morhi-2214 Zenn -> https://zenn.dev/oimo
Sentryの弱点 Sentryは素晴らしいツールであることは間違いない... しかし、その特性上 ▶ (環境・ユーザー・緊急性・エラーの発生頻度・バージョン など関係なく) 全てのエラーを検出してしまう ▶ 有用なエラーもあれば不要なエラーも多い
これが何を招くかというと、 大量にエラーが報告されているのに 誰も気に留めない状況が発生する…!! エンジニアB エンジニアA ディレクター
⇒ 必要なエラーを必要な場所に報告する ことがとても大事! 「オオカミ少年アラート」を無くすため、 Sentryには「Alerts」機能が存在する
Alerts機能を使ってできること ▶ エラーの発生している環境 ▶ 緊急性が高いかどうか? ▶ 同じエラーがどのくらいの頻度で報告されているか? ▶ 特定のタグがついているか? ▷ ログイン済か?権限に同意しているユーザーか?... などなど、重要度の高いエラーを自由にフィルタリングして 報告できる
カスタムエラー通知を作ってみよう!
サイドバーから「Alerts」を選択
① "development" 環境のアプリ ② WHEN:通知のタイミング 新しいエラーを検出したとき 同じエラーを1時間に100件以上 検出したとき ③ IF:フィルタリング条件 30日以内に検出したエラー アプリの最新リリースで検出した エラー fatal(致命的)なエラー
④ THEN:どこに / 誰に 通知するか? すべてのプロジェクト メンバーに通知 「Set action interval」には任意の値(個人的には30分くらいがおすすめ) 「Add a name and owner」には通知の名称(任意でOK)を設定します
ちなみに...
Slackチャンネルに通知してみよう! ※こちらTeamプラン(有料)以上の機能になります
Integration と Alerts を併用して特定の通知を Slack に送ることで... ▶ Sentryのコンソールをわざわざ見に行かなくてもよい ▷ 「ログインしないと見られない」= 放置される原因 ▶ 各メンバーに適した情報を送れる ▷ e.f. ユーザーに影響が出る破壊的なエラーでない場合、 エンジニアメンバーがいるチャンネルのみに通知
① Settings > Integrations から「Slack」を追加・認証
① 連携したSlackワーク スペースを選択 ② 通知したいチャンネル IDを入力 ➔ Send Test Notification!
ご清聴ありがとうございました! 質問があればご遠慮なく! 【Nuxt3】Sentryを使ってフロントエンドのエラー監視を強化しよう! https://lab.sonicmoov.com/web-service/sentry/