9
8

More than 5 years have passed since last update.

errbitをHerokuに置いて簡単Railsアプリエラー管理

Last updated at Posted at 2016-01-28

Herokuのアカウントが作成済みなら15分もあればできてしまうと思います。

準備

Herokuのアカウントがなければ作り、Heroku toolbeltを入れるなど初期セットアップを済ませておいてください。

1:Herokuにデプロイする。

errbitのgitになんとHerokuにデプロイするボタンがあります。
https://github.com/errbit/errbit/blob/master/docs/deployment/heroku.md

  • 「Deploy to Heroku」をクリック

-> Herokuのサイトに遷移してデプロイ完了。

2:Herokuにデプロイしたerrbitをローカルにクローン

ターミナルでerrbitを置きたいディレクトリに移動。
git cloneでローカルにクローン。
giturlはherokuのアプリのSettingsのページを見ると書いてあります。
Settingsのページはこのまま開いておいてくださいね。

3:errbitの設定

ログインユーザーの設定

db:seedを編集

  • ローカルにクローンしたerrbitプロジェクトのdb/seed.rbを編集して最初のログインユーザーを設定します。
db/seed.rb
# Create an initial Admin User
admin_username = "ユーザー名"
admin_email = "メールアドレス"
admin_pass  = ENV['ADMIN_PASS']

user.name = '任意のAdmin name' # 変えなくてもOK

パスワードは環境変数に入れました。

Herokuで環境変数を設定

先ほど開いておいたHerokuのSettingsのページに"Config Variables"という項目があります。
Reveal Config Vars というボタンをクリックすると環境変数の一覧が出ます。
そこにKey: ADMIN_PASS、Value:任意のパスワードを追加します。

New Relicを追加

Herokuは無料プランだと1時間アクセスがないとDynoがアイドル状態になるので、これを回避するためにNew Relicというパフォーマンス監視サービスを導入します。

これについては詳しく説明しているページが色々あると思うのでわからなければ調べてみてください。ここでは手短にやり方だけを載せます。

  • Gemfileに以下を追加してbundle install
Gemfile
gem 'newrelic_rpm'

変更内容を適用

  • gitでローカルの変更内容をpush
  • herokuでnew relicアドオンを追加
  • db:seedを適用
$ git add .
$ git commit -m "change: db:seed, add: new relic"
$ git push origin master
$ heroku addons:create newrelic:wayne
$ heroku run rake db:seed
$ heroku open

heroku openでerrbitのアプリを開き、次の設定に進みます。

4:監視するアプリの設定

  1. errbitのアプリに先ほど設定したメールアドレスとパスワードでログインします。
  2. Appsのページの Click here to create your first oneをクリックすると監視先アプリの情報のフォームが出ます。
    必要な内容を入力してフォームを送信します。 SEND NOTIFICATIONS TO ALL USERSにチェックを入れるとエラー通知のメールが届くようになります。
  3. 監視対象のアプリのGemfileに以下を追加してbundle install
Gemfile
group :production, :staging do
    gem 'airbrake, '~> 5.0'
end
  1. config/initializers/errbit.rbを作成し、以下のerrbitのアプリ設定完了ページのところに書いてある内容をコピペ。以下の最後の一行を追加するとdevelopmentとtest環境を除外できます。
config/initializers/errbit.rb
Airbrake.configure do |config|
  config.host = 'errbitのアプリ設定で書いてある内容'
  config.project_id = true
  config.project_key = 'errbitのアプリ設定で書いてある内容'
end if Rails.env.production?

監視対象アプリをデプロイしたらOK。これでerrbitが使えるようになりました。

デプロイでエラーが出た場合

バージョンのタイミングが悪かったようですが、私はこのままデプロイしたら以下の様なエラーが出ました。

Airbrake::Error: the 'default' notifier isn't configured

airbrake-rubyのv1.0.2あたりでのみ出ている問題のようでしたので、その場合はGemfileのproduction, stagingグループ内にairbrake-rubyをバージョン指定して追加してbundle installして再度デプロイします。

Gemfile
group :production, :staging do
    gem 'airbrake-ruby', '~> 1.0.3'
end

参考:https://github.com/airbrake/airbrake-ruby/issues/28

5:errbitを更に細かく設定する

errbitでは各種configの値を環境変数で持っています。
パラメーターの一覧は公式ページにあります。
https://github.com/errbit/errbit/blob/master/docs/configuration.md

何も設定しないとエラーが出た時にerrbit@example.comというアドレスからメールが来るので、ERRBIT_EMAIL_FROMはお好みのアドレスに変更すると良いのではないでしょうか。他の項目は適宜どうぞ。

以上です。

9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8