Edited at

New Relic の各製品紹介: New Relic ってアプリケーションパフォーマンス監視ツールじゃないの?

More than 1 year has passed since last update.

デジカの宮澤です。New Relic の Advent Calendar 1日目です。

New Relic についてあまり日本語で情報をみかけないのと、APM (Application Performance Monitoring) 以外についての情報もあまりみないので、この Advent Calendar では僕の知る範囲で、New Relic について説明していきたいと思います。僕のパートは、知見というより、マニュアル的な解説になると思います。実例は他の方、是非お願いします。

2015年11月12-13日に行われた Future Stack 15 で新機能など発表されたこともあり、そのタイミングでサイトやマニュアルが結構、変わりました。そのため、多少書いている内容に齟齬があるかもしれません。気づいた方は指摘していただけると助かります。

では、初日ということで、1日目は、軽めにざーっと New Relic について説明してみたいと思います。

また、New Relic 自体、かなり頻繁に UI や機能やプランが変わるので、2015年12月初旬時点と情報ということもご了承ください。


New Relic とは

New Relic という名前は、New Relic 社の名前でありかつ、New Relic 社が運用するソフトウェアのパフォーマンス分析サービスの名前です。分析サービスと一言で言っても、単一のサービスではなく、複数のサービスの総称です。

2016年4月21日2015年12月の時点で、New Relic には、7 つのサービス + α があります。New Relic の Lite (無料)アカウントで、だいたい無料で使えます。(データ保持期間や機能制限はあるけど)

software_analytics_cloud2.png


  • New Relic APM (エーピーエム)


    • アプリケーションのパフォーマンス監視サービス



  • New Relic Browser


    • ブラウザのパフォーマンス監視サービス



  • New Relic Servers


    • サーバーのパフォーマンス監視サービス



  • New Relic Mobile


    • モバイルアプリ(iOS, Android)のパフォーマンス監視サービス



  • New Relic Synthetics (シンセティクス)


    • Webアプリ、サイトの疎通、障害監視サービス



  • New Relic Plugins


    • サードパーティによる各種プラグイン



  • New Relic Insights (インサイト)


    • リアルタイム分析ツール(ダッシュボード)



あと、製品ではないが Alert(警告、エラー管理)サービスは製品間を跨いだサービスになっています。Insights もどちらかというと、横断的なサービスですね。

それでは、各サービスをひとつづつ説明していきます。


New Relic APM (Application Performance Monitoring)

その名のとおり、アプリケーションのパフォーマンスを監視するサービス。

apm_overview.png

New Relic と言ってみんなが言うのが、これ。とりあえず、エージェントと呼ばれるライブラリを利用したいアプリのサーバーにデプロイするだけで、後は自動的にデータを収集し、New Relic のサーバーに送り始める。そして、New Relic のAPMの画面で見れる。Rails 使っているなら、gem を追加して、設定ファイルにライセンスキーを設定するだけで終わり。すごい簡単。

インストールするだけで、トランザクションやスループット、エラー率なんかが簡単にわかる。New Relic をぼーっと眺めているだけで、時系列で大体の傾向はわかると思う。


エージェント

エージェントとは、アプリケーションのデータを収集し、New Relic のサーバーへ送るプラグラムのこと。Java, .NET, Ruby, PHP, Python, Node.js 言語のエージェントが用意されています。その他の言語も Agent SDK という物が用意されているので、それを使えばデータ収集できるっぽいです。上記の言語で最近の環境なら、問題ないと思うけど、結構古い環境の方は、試す前に、エージェントのマニュアルにある各言語のサポート環境を見ることをお勧めします。

ちなみに、最近よく Golang は?って言われるけど、まだ公式には対応していない。コミュニティで開発しているものはあるらしいので、気になる人は使ってみてはどうでしょう。Github:sky-uk/newrelic-go-agent


プランは、Lite (無料) と Essential(有料) Pro (有料)

プランとして、Lite (無料) と Essential(有料:1ホストあたり 年契約: 75 USドル/月、月契約: 119 USドル/月) と Pro (有料:1ホストあたり 年契約: 149 USドル/月、月契約: 199USドル/月。時間契約: 0.29USドル/時間(最小149USドル/月))。AWS, Heroku, Azure とかを使っている人には、Standard (無料)が使えるらしい。

※ 2015年2月くらいまで公式サイトに、月額プランの料金も乗っていたが、2016年4月時点では、年契約(annual subscription)のみの金額しか載っていない。

ホストの定義は、物理サーバーもしくは仮想マシンのインスタンス。Docker コンテナのインスタンスはカウントされないらしい。

Lite(無料) と Essential(有料) と Pro(有料)の違いは、データ保持期間と機能制限とサポート。

Lite は、New Relic サイト上で見れるのは、直近24時間のデータだけ。Essentailは、3日。Standardは、1週間。Pro は制限ありません。

公式サイトには、 Essential は、期間限定で利用可能なプロモーション価格とあります。なので、たぶん、一定期間このプランで使っていると、New Relic から問い合わせがくると思う。

英語だけど、Products, pricing, and billing というページに多少、Standard について載ってます。

Lite と Essential と Pro の詳しい機能や制限の違いは、公式サイトの pricing ページの Capabilitiesを見てください。

APM は、14日間無料で、Pro と同様の機能が使えるので、気になる方は試してみるといいと思います。


New Relic Browser

その名の通り、ブラウザのパフォーマンスを計測するサービス。

browser_overview.png

分かりやすくいうと、Google Analytics 的なもの。HTMLに JS を埋め込み、それがデータを収集して、New Relic に送信している。

APM をデプロイすると、デフォルトで、HTML に JS が埋め込まれるようになる。また、収集されたデータは、Insights でも使える。


プランは、Lite (無料) と Pro (有料)

プランとして、Lite (無料) と Pro (有料:50万ページビューまで:年額契約: 149 USドル/月、月額契約: 199 USドル/月)。

Lite(無料) と Pro(有料)の違いは、データ保持期間と機能制限とサポート。

Lite のデータ保持期間は、1日。Pro は、90日。Pro では、主に、セッショントレース、JS のエラー、Ajax リクエストのモニタリングができるようになる。

詳しくは、公式サイトの価格表の Capabilitiesをみてください。


New Relic Servers

注: 2017年11月4日にサービス停止。(既存有料ユーザーは、2018年5月5日まで)。サーバー監視の後継は、New Relic Infrastructure があるので、そちらを使う。

servers_overview.png

サーバーの監視ツール。CPU使用率や DISK IO、ネットワークIO、メモリ、ディスク使用率なんか見れる。使うには、APMのエージェントとは別途専用のパッケージをインストールする必要がある。また、最近、Docker タブも追加された。AWS などのサーバーリソースの監視もここでできるようになりそう。


プラン

New Relic Server は、New Relic APM のプランに依存するっぽい。無料でも使えるけど、たぶん、データはそんなに貯められない気がする。


New Relic Mobile

mobile_overview.png

モバイルアプリのパフォーマンス監視ツール。アプリやネットワークのパフォーマンス、メモリ使用状況、クラッシュレポート など、OS、デバイス ごとにみることができる。また、今後、バージョントレンド機能といって、アプリのバージョンを並べて、リリース後の特定の期間における各バージョンごとの、新規インストール率、更新率、エラー率などを簡単に比較できる機能も追加される。

無料でも使えるけど、かなり機能制限があるみたい。


プラン

有料 (Enterprise)は、10万アクティブユーザーの1アプリ辺り: 年額契約 999 USドル/月。月額契約: 1,499 USドル/月。

Lite(無料) と Enterprise(有料)の違いは、データ保持期間と機能制限とサポート。

Lite のデータ保持期間は、1日。Enterprise は、90日。Enterprise では、主に、クラッシュレレポート、ユーザーインタラクションのトレース、ネットワークエラーや地域、デバイス別のパフォーマンスのモニタリングなどができるようになります。詳しくは、公式サイトの価格表の Capabilitiesをみてください。


New Relic Synthetics

synthetics_overview.png

外部から、Web アプリやサービスの状態管理を行うためのツール。すごい簡単にいうと、Pingdom + α みたいなサービス。

これは、上とは毛色がすこし違って、何かをどこかにインストールする必要はない。New Relic Synthetics の画面で、設定を行うだけ。Ping 機能は無料で使えます。その他に、実際のブラウザ(Chrome)を通して、ページの読み込みが正常にできるか、確認する機能 (Simple Browser) や、Selenium 用のスクリプトを書いてそれを、実行してくれる機能 (Scripted Browser) もあります。それらは有料。

Pingdom を使っている人は、一回試してみてもいいかもしれません。無料だし。

また、有料機能は、2週間は好きに使えるらしいので、試してみたい方は使ってみるといいと思います。


プラン

有料 (Pro)は、1万アドバンスドチェックまで: 年額契約 69 USドル/月。月額契約: 99 USドル/月。

Lite(無料) と Pro(有料)の違いは、データ保持期間と機能制限とサポート。

Lite のデータ保持期間は、2週間。Pro は、13ヶ月。Pro では、実ブラウザからの 疎通確認や Selenium ベースの遷移チェックができます。詳しくは、公式サイトの価格表の Capabilitiesをみてください。


New Relic Insights

insights_overview.png

Insights は、上で紹介した各製品のデータをクエリ(※NRQL)を書いて、いい感じに表示してくれるダッシュボードサービス。謳い文句は、リアルタイム分析プラットフォーム。

※ NRQL は、New Relic Query Language の略で、SQL の文法 (Select, From, Where とか)をベースに、独自の要素を取り入れているクエリ言語。

Insights は、他のサービスのページの表示では物足りなかったり、もっとこういうデータの見方をしたいという時に役立つツール。また、他のツールはエンジニアよりのツールに対して、Insights は、よりビジネスよりのダッシュボードツールとして役立つと思う。BI ツール的な立ち位置を目指していると思う。

このダッシュボードの強みは、各 New Relic 製品のデータを横断的に1枚のダッシュボード上に表示できることだと思う。それにより、各ツールではバラバラに表示されるデータを総合的な視点で判断ができるようになります。

クエリ元のデータソースとしては、以下のデータを利用できます。

- APM: トランザクション、エラー

- Browser: ページビュー

- Mobile: クラシュデータ、インタラクションデータ、セッションデータ

- Synthetics: チェックデータ、リクエストデータ

また、上記以外のデータの独自データも送信するための API は用意されています。

Data Explorer っていう収集したデータのサンプルを見れるページがあるんだけど、これが、Future Stack 15 (New Relic のユーザーカンファレンス)に併せて、大幅に変更になりました。大分変わったので、前見たことがある人は、一回見てみると便利になっているので、驚くと思います。


プラン

Insights は、APM Pro を使っている人なら無料で使えたと思う。

Insights のプランは非常に分かりにくく、一応、7500万イベントまで、月額 250 USドルと公式サイトに書いてある けど、今後変わる可能性はありそう。(11月まで違ったから)

よって、現状、無料と有料で、機能的な違いはありません。イベント数の上限(がいくらかわからないけど)超えると、有料になるっぽい。


おわりに

ということで、非常にざっくりと少しづつ、各製品を説明してみました。物足りないとは思いますが、少しでも、各製品がどういったものかイメージができたなら、よかったです。

後日の Advent Calendar で、知っている範囲で各製品を説明していきたいと思います。そちらもよろしくお願いします。