RailsアプリケーションにNew Relicを導入

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

New Relic はサーバー・アプリケーション監視の SaaS(Software as a Service)です。ウェブアプリケーション用としては、2015/03/25 時点で Ruby/PHP/Java/.NET/Python/Node のプロジェクトに対応しています。他にも AWS/Azure/iOS/Android/MySQL/Redis/MongoDB などのモニタリングに対応。

Application Performance Management & Monitoring | New Relic
Screen Shot 2015-03-25 at 10.04.55

監視ツールとしては、Zabbix, Munin, Nagios などオープンソースのツールがありますが、それらに比べると New Relic はとにかく導入が簡単です。

スポンサーリンク

無料プランだと間近24時間までのデータを参照できます。料金プランは以下。
New Relic Pricing for Application Performance Monitoring | New Relic APM

やった作業まとめ

今回は、Rails アプリケーションに New Relic を導入してみます。Rails アプリケーションの場合であれば、以下5ステップで作業完了です。

1. New Relic にサインアップ
2. New Relic の agent 用 gem をインストール
3. newrelic.yml をダウンロード後 config/ に設置して修正
4. development 環境と New Relic ダッシュボードで動作確認
5. デプロイ後、各環境ごとのデータを確認

1. New Relic にサインアップ

Sign up for New Relic | Application Performance Management & Devops Tools からサインアップ。

しばらくすると、サインアップの確認メールが来るので、メール内の Complete Setup をクリック。サインアップ後にログインすると導入手順が表示されます。

「Get started with New Relic / Select a web agent to install.」で Ruby のロゴを選択すると、Ruby プロジェクト用のセットアップ手順が表示されるので、それに従って進める。

2. New Relic の agent 用 gem をインストール

Rails プロジェクトの Gemfile に、New Relic の agent 用 gem を追記しインストールします。

Gemfile

コマンドラインから bundle install。

3. newrelic.yml をダウンロード後 config/ に設置して修正

ガイダンスの「Download newrelic.yml」から、newrelic.yml をダウンロードして、Rails プロジェクトの config ディレクトリに設置する。

あるいは New Relic にログイン後、右上プルダウンメニューの Account Settings ページに移動し、右下にある「Download a clean configuration file」からも newrelic.yml をダウンロードできます。

続いて、newrelic.yml を修正。「My Application」の箇所を、自分のアプリケーション名に変更します。

また、newrelic.yml では development, test, production, staging の環境がデフォルトで設定されており、newrelic.yml 内に以下の記述がある。

config/newrelic.yml

なので、それら以外の環境がある場合は、必要に応じて設定を追加すると良いでしょう。

4. development 環境と New Relic ダッシュボードで動作確認

config/newrelic.yml で以下の行を確認する。

developer_mode: true となっていると、http://ホスト名/newrelic の URL で Developer Mode の画面を確認できる。development 環境でサーバーを起動します。

Rails アプリケーション(http://localhost:3000/)にアクセスして、適当に何ページか表示させる。その後、http://localhost:3000/newrelic にアクセスして、New Relic の Developer Mode ページが表示されたら、導入成功です。

また New Relic のダッシュボード画面(All applications – New Relic)でも、数分以内に自分のアプリケーション名(環境名)が表示されて、development 環境での各種統計データを確認できます。

5. デプロイ後、各環境ごとのデータを確認

後は、staging, production などの環境にデプロイすると、各々環境ごとに New Relic ダッシュボード画面(All applications – New Relic)でデータを確認できる。

config/newrelic.yml を以下のようにする。

production の app_name は、デフォルトでは書いてなかったので、なくても良いのかも。デプロイ後、データが反映されるのに少々時間がかかりました(10分程度)。

あと、デプロイ時の注意点として… config/newrelic.yml には New Relic の license_key が直書きされているので、.gitignore に指定して git リポジトリに含めないようにした。license_key の取り扱いがいまいち分かっていないのですけど、一応安全策として。

そして、Capistrano の設定ファイル config/deploy.rb の linked_files に config/newrelic.yml を追記して、deploy:upload のタスクで config/newrelic.yml を production などの環境の shared_path にアップロードするようにしました。Capistrano については以下を参考。

Capistrano3でRails4.1アプリケーションをデプロイ | EasyRamble
Capistrano3とBitbucketを使ってRailsアプリをデプロイ | EasyRamble

以上で、New Relic 導入は終了です!

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

Leave Your Message!