Help us understand the problem. What is going on with this article?

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 で、知っている範囲で各製品を説明していきたいと思います。そちらもよろしくお願いします。

kumatronik
基本、Rails エンジニア。以前は株式会社デジカでNew Relic のテクサポも担当。
https://newrelic.degica.com/blog
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした