【セントリー】

Sentry とは?

公開:
💡 エラーの見張り番!バグを見逃さずに原因まで即特定
📌 このページのポイント
Sentry のエラー検知フロー アプリケーション Sentry SDK を組み込み エラー発生! 自動送信 Sentry エラーを自動グループ化 スタックトレース解析 ユーザー環境を記録 即座通知 開発者に通知 Slack / メール PagerDuty 等 Sentryが自動収集する情報 スタックトレース エラーの発生箇所 ソースマップ対応 ユーザー環境 ブラウザ・OS デバイス情報 パン屑リスト エラー前の操作 ログを時系列で パフォーマンス API応答速度 ページ読み込み
Sentry のエラー検知フローのイメージ
ひよこ ひよこ
Sentryって何をしてくれるの?
ペンギン先生 ペンギン先生
アプリケーションで発生したエラーを自動的にキャッチして、開発者に通知してくれるサービスだよ。ユーザーが「画面が真っ白になった」と報告する前に、開発者側でエラーを把握して対応できるんだ
ひよこ ひよこ
console.logで十分じゃないの?
ペンギン先生 ペンギン先生
ローカル開発ならそれでもいいけど、本番環境ではユーザーのブラウザやスマホで起きるエラーは見えないよね。Sentryを入れておけば、本番で起きたエラーのスタックトレースブラウザの種類、OSのバージョン、どのページで起きたかまで全部自動で記録してくれるんだ
ひよこ ひよこ
どうやって導入するの?
ペンギン先生 ペンギン先生
SDKインストールして、初期化コードを数行書くだけだよ。たとえばJavaScriptならSentry.initにDSNを渡すだけで、未キャッチの例外が全部Sentryに送られるようになるんだ。導入の手軽さも人気の理由だよ
ひよこ ひよこ
エラーが大量に来たら大変じゃないの?
ペンギン先生 ペンギン先生
Sentryは同じエラーを自動でグループ化してくれるから、「このエラーが100回起きている」みたいにまとめて表示されるんだ。さらにエラーごとにステータス(未対応・対応中・解決済み)を管理できるから、GitHubのIssue管理みたいにチームで分担できるよ
ひよこ ひよこ
パフォーマンスモニタリングもできるって聞いたけど?
ペンギン先生 ペンギン先生
そうだよ。APIレスポンスタイムやページの読み込み速度も計測できるんだ。「この画面の表示が3秒以上かかっているユーザーが20%いる」みたいな情報が分かるから、パフォーマンス改善の優先度を決めるのに使えるよ
ひよこ ひよこ
Sentryを使いこなすコツってあるの?
ペンギン先生 ペンギン先生
ソースマップの設定が超重要だよ。本番のJavaScriptは圧縮されているから、エラーのスタックトレースが読めないんだけど、ソースマップをSentryにアップロードしておけば元のコードの行番号で表示されるんだ。あと、リリースバージョンをSentryに紐付けておくと「このバージョンのデプロイ後にエラーが急増した」というのが一目で分かるから、デプロイパイプラインに組み込むのがベストプラクティスだよ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Sentry」って出てきたら「アプリのエラーをリアルタイムで検知・通知してくれるサービス」と思えればだいたいOK!
📖 おまけ:英語の意味
「Sentry」 = 歩哨・見張り
💬 「Sentry」は英語で「歩哨(見張り番)」の意味で、アプリケーションを常に監視してエラーを見張るという役割を表しているんだよ
← 用語集にもどる