章: 第6章: パフォーマンスとインフラ
本番でエラーが発生してもユーザーからの報告で初めて気づいていませんか?
エラーの検知が遅れるほど影響を受けるユーザー数が増え、信頼を失います。Sentryを使えば、エラーをリアルタイムに収集・分類・通知でき、障害の影響範囲を最小限に抑えられます。
エラー監視ツールなしで運用を続けると何が起きるか
ログファイルを手動で確認しなければエラーに気づけず、発生から検知まで数時間かかることがあります。Sentryは例外発生と同時にSlackやメールに通知するため、即座に対応できます。
エラー監視の方法比較
| 方法 | 検知速度 | 詳細情報 | 設定コスト |
| ログファイル確認 | 遅い(手動) | あり | 低い |
| メール通知(自前) | 中程度 | 限定的 | 中程度 |
| Sentry | 即時 | 豊富(スタックトレース・コンテキスト) | 低い |
| Datadog / New Relic | 即時 | 非常に豊富 | 高い |
チェックポイント: Sentryを導入したら意図的にエラーを発生させて、通知が届くことを確認しましょう。また、
\Sentry\configureScope()でユーザーIDやリクエストIDをコンテキストとして付与すると、エラー発生時にどのユーザーが影響を受けたか即座に特定できます。
コードサンプル
# インストール
composer require sentry/sentry-laravel
# .env
# SENTRY_LARAVEL_DSN=https://xxxxx@oNNNNN.ingest.sentry.io/NNNNNN
<?php
// 手動でエラー送信
\Sentry\captureException($exception);
\Sentry\captureMessage('想定外の状態が発生しました');
まとめ & 次のステップ
- Sentryでエラーをリアルタイム収集・通知して、障害の影響を最小化できます
SENTRY_LARAVEL_DSNを設定するだけでLaravelと自動統合されます- ユーザーIDやリクエストIDをコンテキストに付与して、エラーの影響範囲を特定しやすくしましょう
- アラート通知はSlackに連携し、チームで即座に気づける仕組みにしましょう
- 本番デプロイ後は必ずSentryの通知テストを行い、機能していることを確認しましょう
次回は 本番リリースチェックリスト を学びます。リリース前の確認漏れを防ぐための体系的なチェックリストを整理しましょう。