Rails監視ツール用にErrbitをHerokuで運用

スポンサーリンク
スポンサーリンク
【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
画像付き英語辞書 Imagict | 英単語をイメージで暗記
【開発記録】
英単語を画像イメージで暗記できる英語辞書サービスを作って公開しました

Errbit は Web アプリケーションのエラーを監視して、エラーが発生したら通知を行ってくれる監視ツールです。AirBreak と同じ機能を持つオープンソースのソフトウェアとなります。Errbit の Heroku 運用にトライしましたので、その設置手順の紹介です。Heroku の無料枠で運用すれば、コストをかけずに AirBreak と同様の監視を行うことができます。

スポンサーリンク

Heroku 登録と Heroku Toolbelt(CLI)インストール等

まず Heroku のアカウントがない場合は、事前に Heroku のサインアップが必要です。

Heroku: Cloud Application Platform

事前に、Heroku のコマンドラインツール(CLI)である Heroku Toolbelt もインストールしておきます。

Heroku Command Line | Heroku Dev Center

Heroku でアドオンを利用する場合には、無料アドオンの利用でもクレジットカードの登録が必要となります。Errbit は MongoDB 等のアドオンを使うので、事前にクレジットカードの登録も行っておきます。

Errbit を GitHub からローカルに clone

errbit/heroku.md at master · errbit/errbit

基本的に、上記ドキュメント The Hard Way の手順に沿って進めますが、途中で Errbit 管理者ユーザーや New Relic 設定などの作業をはさみました。デプロイボタン(Deploy to Heroku)は使いません。

まずは、ローカルの errbit 用ディレクトリに移動後、errbit を GitHub から git clone します。

続いて bundle install を行う。ローカルの development 環境を作らずに heroku だけの運用なら、ここは省略可能かも。

Heroku に Errbit アプリを作成

出力された名前が Heroku 上で動作する Errbit のアプリ名になるので控えておきます。heroku という名前のリモートリポジトリが追加されるので、以下コマンドで確認可能です。

foo-bar-12345 の部分が、Heroku 上のアプリ名です。

続いて、アドオンの追加や環境変数の設定を行います。

Heroku にログインしてアプリが作成されたこと、および設定した環境変数(Settings/Config Variables/Reveal Config Vars)を確認します。

Errbit 管理者ユーザーの設定

以降、GitHub から ローカルに clone したディレクトリで作業を進めます。まずは、Errbit にログインするための、管理者ユーザーのアカウント情報の設定です。

db/seeds.rb

パスワードは環境変数で設定します。

または、Heroku の Settings にある「Reveal Config Vars」を押して設定。KEY に ADMIN_PASS、VALUE に任意のパスワードを入力して Add。パスワードは控えておきます。

New Relic の設定

Heroku の無料プランの場合、1時間アクセスがないと Dyno が停止してしまうらしいので、New Relic を利用してそれを防ぐ設定を行います。行う作業は以下のとおりです。

1. New Relic にサインアップ
2. New Relic の agent 用 gem を追加
3. config/newrelic.yml の修正

New Relic 導入について詳しくは、RailsアプリケーションにNew Relicを導入 | EasyRambleを参照。

New Relic に登録した後、Gemfile に New Relic 用のエージェント gem である newrelic_rpm を追加します。

Gemfile

New Relic にログインして Account Settings の右下「Download a clean configuration file」から newrelic.yml をダウンロードして、config 以下に配置します。必要な箇所を編集。

config/newrelic.yml

New Relic からダウンロードした newrelic.yml にはライセンスキーが直書きしてあるので、環境変数で設定するように変更します。

あと Errbit の .gitignore から config/newrelic.yml の行を削除しておく。

.gitignore

Heroku に push

ここまでの設定が完了したら、Heroku に push します。

push するだけでアプリケーションのビルドもやってくれて、Heroku は超楽ですね。Capistrano とかちまちま書くよりほんと簡単。

データベースのセットアップ

続いて、データベースのセットアップを行います。以下コマンドを実行。

これで上述した管理者ユーザーを作成するための db/seeds.rb 実行や MongoDB の Index 作成など、Errbit に必要なデータベースのセットアップが行われます。

Heroku の Open app から Errbit ログイン画面を開き、設定した管理者ユーザーのアカウントでログインするとログインできるはずです。

監視対象の Rails アプリケーションを追加

Heroku 上の Errbit にログイン後、Click here to create your first one または右上の Add a New App をクリックして、Name および必要な情報を入力します。SEND NOTIFICATIONS TO ALL USERS にチェックするとメール通知が来る。

入力後 ADD APP をクリックすると、Errbit エージェントの設定に必要な情報が表示されるので控えます。それを元に、監視対象の Rails アプリケーションで以下の設定を行いました。

Gemfile

config/initializers/errbit.rb

本番環境のみを対象にしての Errbit 運用時には…

config/initializers/errbit.rb

と production 環境のみに設定を限定したほうが良いかと思います。あとは監視対象の Rails アプリケーションをデプロイしたら終了です。

スポンサーリンク
パーフェクト Ruby on Rails は、最近読んだ Rails 本の中では一番役に立った本です。Chef や Capistrano など Rails と共によく使用される技術にも触れてあります。Ruby on Rails 4 アプリケーションプログラミングは、入門的な内容で Rails の機能全体を網羅されています。
スポンサーリンク
 
Twitterを使っていますのでフォローお願いたします!ブログの更新情報もつぶやいてます^^
(英語学習用)

Leave Your Message!