LaravelにSentryを導入してアプリのエラー監視を楽にする
サーバーの監視をするためにMackerel
を導入をして1ヶ月くらいたった。時折なるアラートになんだか嬉しさを感じつつ(ダメだけど)、そろそろアプリのエラー監視もしっかりやらないとと思ってSentry
を導入した話。
Sentryとは?
オープンソースにもなっているイベント監視ツール。
主にエラー監視に使ってる例をよくみる。
ただ、自前のサーバーの用意や設定などを考えるとSaaSとしても提供しているため、今回はそちらを利用する。
ライブラリの導入
インストールは5.5以上だとすごく簡単。
app/Exceptions/Handler.php
に関数を追加するのと、.env
にSentry
側で発行されたキーを入力するだけで準備完了。
エラーを起こして使ってみる
Slack
にエラーを飛ばすことができるので、設定しておく。
実際にエラーを起こった場合このように、エラー(イベント)単位でIssue
としてみれる。
詳細はこのようになっている。
良い点としては
- エラーの内容がWeb上で確認できる
- 過去に起きたエラーかがわかる
- 過去に対応した場合はその対応内容がわかる
まだローカルでしか試してないため、本番で運用したらここに追記しておく。
その他サービス
Mackerel
もログ監視をできるみたいだが、どっちかっていうとミドルウェアとかのログチェックに使いそう。
Datadog
もログ監視の対応してるみたいで、こちらもインフラよりな使い方の紹介が多い。
ログの時間とサーバーのメトリクスの時間が連動するようになったっぽい・・・これは良さげなので別の機会にやってみたい。
終わりに
アプリのエラー検知はCloud Watch Logs
などで軽くやっていたけど、Sentry
を使うと便利すぎて戻れなさそうだなと思った。
今回はサーバーサイド側をやってみたが、フロント(React.js)にも対応してるみたいなので、そちらも近々導入してみる。