Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

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はお好みのアドレスに変更すると良いのではないでしょうか。他の項目は適宜どうぞ。

以上です。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした