ランサーズ等のサービスを開発・運用する中で得た知識やノウハウを紹介しています。

newrelic-logo

Labels:  DevOps 投稿者:satoshi

【NewRelic】たった5分で導入完了!高機能のサービスモニタリングツール

newrelic-logo-square-rgbhex6

こんにちわ!ランサーズの satoshi です。
今回は、クライアントサイド、サーバーサイド両方のモニタリングが出来る NewRelic をご紹介します。

サーバーのモニタリングツールだと、Munin 等が有名ですが、導入には手間がかかります。しかし、NewRelic なら、本当に5分で導入が完了します!しかも超簡単です。

まずは、ざっくりと機能の紹介をさせて頂きますので、導入方法 を知りたい方は、読み飛ばして下さい!

サーバーサイドのモニタリング

レスポンスタイム

スクリーンショット 2013-09-22 14.00.08

上記のグラフのようにアプリケーションの処理、データベース処理、キャッシュエンジンを使っているならその処理(この場合はMemcached)それぞれに使われた時間が表示されます。
これが、各ページ毎に確認する事が出来き、ページでレスポンスが悪い場合、右下に トレース の結果が表示されます。

トレースでの内容(transaction traces)
001

Summaryタブ

どの処理に時間がかかっているのか、データベースのテーブルへのSELECT分単位で確認する事が出来ます。ここまで確認できるのはかなり便利です。

Trace detaillsタブ

時系列での処理内容が確認できます。各クラスとメソッド単位で確認できるので、フレームワークの理解の助けにもなるのでは?

SQL statementタブ

これでは、具体的なクエリレベルでの確認が出来ます。MySQLだとスローログを取っていれば確認できますが、NewRelicなら他のボトルネックと合わせて確認出来る事が魅力です。これでパフォーマンスチューニングが楽になりますね。

クライアントサイドのモニタリング

002

Web application:サーバサイドの処理
Network:ソースダウンロード通信
DOM processing:DOM 構築処理
Page rendering:CSS, Js などでのページが表示するまでの処理

上記がそれぞれどれくらいの時間なのかをグラフにて表示されます。

5分で完了!簡単導入ガイド

お待たせしました。それでは、NewRelicの導入手順をご紹介します。
今回は PHP x CentOS での手順となります。

まずは、NewRelic にてアカウント を作って下さい。

スクリーンショット 2013-09-22 0.58.19

アカウントを作成したら「Get Started」から開始します。

スクリーンショット 2013-09-22 0.58.42

はじめに、言語を選択して下さい。今回は PHP を選択しました。

1. Get your license key
スクリーンショット 2013-09-22 0.59.57

「Reveal license key」からライセンスキーを表示させます。ここはこのままで大丈夫です。

2. Install the PHP agent
スクリーンショット 2013-09-22 1.00.23

環境を選択します。今回は「RPM-based (Redhat, Centos, etc.)」を選択しました。

スクリーンショット 2013-09-22 1.00.53

この下に表示されるコードを実行します。64bitの環境なので、以下を実行。

sudo rpm -Uvh http://yum.newrelic.com/pub/newrelic/el5/x86_64/newrelic-repo-5-3.noarch.rpm

その後、以下のパッケージをインストールします。

sudo yum install newrelic-php5
sudo newrelic-install install

newrelic-install install の際に、ライセンスキーを聞かれるので、上記で表示させたライセンスキーを利用します。

3. php.ini にライセンスキーを登録します。
  1. バックアップ
  2. sudo cp /etc/php.ini{,.`date +%Y%m%d`}
  3. 編集 表示されているライセンスキーを登録
  4. newrelic.license="00000000000000000000000000"
  5. 反映内容の確認
  6. sudo diff /etc/php.ini{,.`date +%Y%m%d`}
  7. 適応
  8. sudo /etc/init.d/httpd graceful

まれに、graceful だと反映されない事があるそうなので、その場合は、 restart して下さい。
phpinfo() にて、newrelic の項目があれば、成功です。正しく登録できていれば、5分程で結果が確認できます。

今回は、PHP x CentOS での手順ですが、 NewRelic のサービス上でもそれぞれの環境に応じた手順がありますので、その他の言語(Ruby, Python, Node.js, .NET)OS でもご安心ください!
今回ご紹介した機能はNewRelicのほんの一部の機能なので、興味ある方は是非色々触ってご活用ください。スマホへのプッシュもできるアラート機能やサーバのMuninのようにリソース監視なども出来ますので、機会があればまた紹介させて頂きます!

ランサーズでは、現在、Webエンジニアを募集しています。
詳しくは、募集要項をご覧下さい。

ランサーズではサービスを成長させてくれるエンジニア、デザイナーを募集しています!
ご興味がある方は、以下URLよりご応募ください。


【中途採用】
サービスリードエンジニア
テックリード(アーキテクト)
フロントエンドエンジニア
サーバーサイドエンジニア
業務エンジニア(社内システム基盤・基幹システム)

【インターン・学生バイト】
19新卒対象サマーインターン
エンジニアインターン

その他採用情報

関連記事

thumbnail
ランサーズのメッセージ機能のAPI設計

otaです。過去の執筆記事はこちら。 ランサーズのメッセージ機能のAPIを2019年5月にリニューアルしました。どのような設計にしたかについて書きます。APIを設計する際の参考になれば幸いです。 レスポンスについて HTTPステータスコードは成功時は200、失 …

AWS
AWS セキュリティ対策 〜 操作履歴を CloudTrail で残してみた

こんにちわ。こじまです。 ランサーズでは,AWS を利用してシステムを運用しています。 コンプライアンスの監査,トラブルシューティング,そして,セキュリティ分析を実施するために AWS の操作履歴を残すことは必須です。   今日は,AWS 操作履歴を …

「天才じゃないからアウトプットを続ける」会社と自身の相互成長を加速させるSREとは

<プロフィール> SRE/採用広報 安達 涼/あだちん(あだち りょう)@adachin0817 大学時代に情報学/サーバに出会い、ホスティングから大規模なアドテクなどのインフラエンジニアとして数社携わる。2018年ランサーズにジョイン。現在はSREとして、ラ …