AmazonLinuxにNew Relicを入れてPHPアプリケーションを監視する

New RelicはSaaS型の監視ツールです。

通常、監視をする際は、監視サーバを構築してnagiosやZabbixなどの監視ツールをインストールして行います。

しかしNew Relicを使えば、監視サーバを構築することなく、監視対象サーバに監視エージェントをインストールするだけですぐに監視を開始することができます。

導入も簡単で、グラフ表示など見栄え的にも非常に優れています。

newrelic_proc

また、SaaSですので、インフラ部分の管理はNew Relicサイドに任せることができます。

監視サーバが止まっていると監視対象のサーバの異常を見逃すことになりますので、重要なシステムでは監視サーバを冗長化したり監視サーバの監視をしたりしなければなりませんでしたが、今後は監視にはこういったSaaS型の監視サービスを利用することが一般的になると思います。

 

料金体系

New Relicでは以下の様な料金体系になっています。

  • LITEプラン 無料
  • PROプラン $149/月
  • STARTUPプラン $199/月
  • Small-Businessプラン $499/月
  • ENTERPRISEプラン $別途見積もり

プランごとの詳細はhttp://newrelic.com/pricingに記載されています。

LITEプランは無料で使えますが、データの保持期間が24時間と短いため、残念ながら趣味レベルでも実用には厳しいです。

しかしAWSとのパートナーシップ?により、上記にはないSTANDARDプランというプランが実は無料で利用でき、こちらではデータ保持期間が1週間に延長されます。

STANDARDプランは、http://newrelic.com/awsから登録することで適用されます。(引用元:https://www.rco.recruit.co.jp/blog/技術tips/273 )

 

すでにLITEプランで登録してしまっていましたが、上記URLから登録をし直すとSTANDARDプランが適用されるようです。よかった。。

 

今回は、AmazonLinuxで動作するPHPアプリケーションをNewRelicで監視するための手順をまとめます。

 

New Relicのアカウント作成

http://newrelic.com/awsから登録します。

監視対象サーバにはライセンスキーを埋め込む必要があります。ライセンスキーはAccount Settingsから確認できますので、ログイン後に確認して控えておくと便利です。

 

New Relicのエージェントをインストール

RedHat系にはRPMパッケージが用意されており、AmazonLinuxでもこちらをインストール可能です。

rpm -Uvh http://yum.newrelic.com/pub/newrelic/el5/x86_64/newrelic-repo-5-3.noarch.rpm
yum -y install newrelic-sysmond
nrsysmond-config --set license_key=【ライセンスキー】
service newrelic-sysmond start
chkconfig newrelic-sysmond on

この時点で、「Servers」に監視対象のホストが’登録され、CPUやメモリなどのパフォーマンス情報が取得され始めていることがわかります。

newrelic_servers

 

New RelicのPHP用エージェントをインストール

こちらもRPMパッケージをインストールするだけです。

yum -y install newrelic-php5
sed -i "s/^newrelic.license =.*$/newrelic.license = \"【ライセンスキー】"/" /etc/php.d/newrelic.ini
sed -i "s/^;newrelic.appname =.*$/newrelic.appname = \"【任意のアプリケーション名】\"/" /etc/php.d/newrelic.ini
service httpd restart

「Application」にアプリケーションが追加されます。

newrelic_php 

インストールコマンドは、「AmazonLinuxでcloud-initを使う」のようにUserDataに書いておけば、OS起動直後から自動的に監視を開始することが可能です。

ライセンスキーやアプリケーション名などはEC2のタグに定義すると便利です。