1. tomomomo1217

    Posted

    tomomomo1217
Changes in title
+errbitをHerokuに置いて簡単Railsアプリエラー管理
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,121 @@
+
+
+# 準備
+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を編集して最初のログインユーザーを設定します。
+
+```ruby: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`。
+
+```ruby:Gemfile
+gem 'newrelic_rpm'
+```
+
+## 変更内容を適用
+- gitでローカルの変更内容をpush
+- herokuでnew relicアドオンを追加
+- db:seedを適用
+
+```terminal
+$ 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のアプリに先ほど設定したメールアドレスとパスワードでログインします。
+1. Appsのページの __Click here to create your first one__をクリックすると監視先アプリの情報のフォームが出ます。
+必要な内容を入力してフォームを送信します。
+SEND NOTIFICATIONS TO ALL USERSにチェックを入れるとエラー通知のメールが届くようになります。
+1. 監視対象のアプリのGemfileに以下を追加して`bundle install`
+
+```ruby:Gemfile
+group :production, :staging do
+ gem 'airbrake, '~> 5.0'
+end
+```
+
+4. config/initializers/errbit.rbを作成し、以下のerrbitのアプリ設定完了ページのところに書いてある内容をコピペ。以下の最後の一行を追加するとdevelopmentとtest環境を除外できます。
+
+```ruby:config/initializers/errbit.rb
+Airbrake.configure do |config|
+ config.host = 'errbitのアプリ設定で書いてある内容'
+ config.project_id = true
+ config.project_key = 'errbitのアプリ設定で書いてある内容'
+
+ config.ignore_environments = %w(development test) #追加
+end
+```
+
+監視対象アプリをデプロイしたらOK。これでerrbitが使えるようになりました。
+
+### デプロイでエラーが出た場合
+バージョンのタイミングが悪かったようですが、私はこのままデプロイしたら以下の様なエラーが出ました。
+
+```
+Airbrake::Error: the 'default' notifier isn't configured
+```
+airbrake-rubyのv1.0.2あたりでのみ出ている問題のようでしたので、その場合はGemfileのproduction, stagingグループ内にairbrake-rubyをバージョン指定して追加して`bundle install`して再度デプロイします。
+
+```ruby: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はお好みのアドレスに変更すると良いのではないでしょうか。他の項目は適宜どうぞ。
+
+以上です。