くずきのblog

技術とか色々

LaravelにSentryを導入してアプリのエラー監視を楽にする

サーバーの監視をするためにMackerelを導入をして1ヶ月くらいたった。時折なるアラートになんだか嬉しさを感じつつ(ダメだけど)、そろそろアプリのエラー監視もしっかりやらないとと思ってSentryを導入した話。

kzkohashi.hatenablog.com

Sentryとは?

オープンソースにもなっているイベント監視ツール。
主にエラー監視に使ってる例をよくみる。

sentry.io

ただ、自前のサーバーの用意や設定などを考えるとSaaSとしても提供しているため、今回はそちらを利用する。

ライブラリの導入

インストールは5.5以上だとすごく簡単。

github.com

app/Exceptions/Handler.phpに関数を追加するのと、.envSentry側で発行されたキーを入力するだけで準備完了。

エラーを起こして使ってみる

Slackにエラーを飛ばすことができるので、設定しておく。

sentry.io

実際にエラーを起こった場合このように、エラー(イベント)単位でIssueとしてみれる。 f:id:kzkohashi:20180407152454j:plain

詳細はこのようになっている。 f:id:kzkohashi:20180407152512j:plain

良い点としては

  • エラーの内容がWeb上で確認できる
  • 過去に起きたエラーかがわかる
  • 過去に対応した場合はその対応内容がわかる

まだローカルでしか試してないため、本番で運用したらここに追記しておく。

その他サービス

Mackerelもログ監視をできるみたいだが、どっちかっていうとミドルウェアとかのログチェックに使いそう。

mackerel.io

Datadogもログ監視の対応してるみたいで、こちらもインフラよりな使い方の紹介が多い。
ログの時間とサーバーのメトリクスの時間が連動するようになったっぽい・・・これは良さげなので別の機会にやってみたい。

www.datadoghq.com

終わりに

アプリのエラー検知はCloud Watch Logsなどで軽くやっていたけど、Sentryを使うと便利すぎて戻れなさそうだなと思った。
今回はサーバーサイド側をやってみたが、フロント(React.js)にも対応してるみたいなので、そちらも近々導入してみる。

React – Sentry Documentation