サーバで稼働しているWebアプリのエラー監視して、エラーが出たら通知してくれるツール Errbitの紹介です。この分野で有名な有料のサービス Airbrakeのオープンソース版です。
また今回はこのサービスをheroku上で動かします。herokuの無料枠内で運用できるのでコストパフォーマンスも抜群だと思います!
Errbitスクリーンショット
まずは、Errbitのスクリーンショットです。このスクリーンショットは左上から順番にアプリ一覧、アプリのエラー情報、エラー情報のサマリー、エラーのトレース情報です。




Errbitの代表的な機能は次の3つです。
airbrakeのgemを使って、複数アプリのエラー情報を収集・表示 エラーが発生したらユーザーにメール通知 エラー発生時の送信先を管理
この他にもRedmineやGitHubへのissueへの登録や、Gtalk、Campfireなどへのエラー通知の機能もあるみたいです。
またRubyだけではなく、PHP/Pythonにも対応しているっぽいです。
Herokuを初めて利用する場合
もし、今回はじめてHerokuを使う場合は拙著のHerokuにRails 3.2.9/Bootstrapでデプロイ 最短・簡単ガイドだよ! の「Heroku ユーザー登録」と「ローカル環境設定」を実行して下さい。
Errbitのherokuへの導入手順
ローカルにErrbitのソースをダウンロード。
1
| |
heroku gemをインストールして、アプリ名をherokuに登録。
example-errbitのところにはアプリ名を登録して下さい。アプリ名は早いもの順なので、他のユーザーとかぶっていたらエラーが出ます。被らない名前にしてください。
1 2 | |
アプリの登録が成功すると、http://example-errbit.herokuapp.com/というURLがもらえます。これが自分のErrbitのURLになります。(ちなみに、この時点ではまだ見れないと思います)
続いてアドオンの有効化と各種設定を行って、herokuにpushします。
1 2 3 4 5 6 | |
gitへのpushが完了するとErrbitへのログインIDとパスワードが出てきます。あとでブラウザでErrbitにログインするときに使います。
さらに、seedファイル(DBの初期設定データ)の読み込みを行います。
1
| |
ErrbitにWebアプリを登録
ここまでで、herokuのErrbitにアクセス出来るようになりました。つづいて、Errbitでエラーを収集したいWebアプリを登録していきます。
ブラウザでhttp://example-errbit.herokuapp.com/を開くとログインが出るので、先ほどgit pushした時に出たログインIDとパスワードを入力して下さい。
ログインできたらUrersタブ => ログインユーザー名 => editに進んでログインIDとパスワードを自分用に変更してください。(不正アクセスを防止するため)
次に、Appsタブ => Add new appsに進んで、Errbitでエラーを収集したいWebアプリを登録して下さい。

Webアプリの登録が完了したら、設定が書かれたページが出てきます。次のセクションで使うのでメモしておいて下さい。

Webアプリ側の設定
続いて、エラーが発生したら通知をしてほしい側のWebアプリの設定を行います。
Gemfileに以下を追加して、bundle installを実行してください。
1 2 | |
続いて、config/initializers/errbit.rbを作成して以下を追加します。
1 2 3 4 5 6 | |
これで設定は完了です。これでエラーが発生したら、Userタブで登録したメールアドレスにメールが届くようになります。ちなみに、テストでエラーを発生させた時の結果はしたようになりました。

Special Thanks
Railsのエラー管理はこれでOK!オープンソースのAirbrakeクローン、errbitを使ってみた | TechRacho