[初心者向け] SaaS型の可観測性プラットフォーム New Relic とはどんなものか

2020.11.06

はじめに

おはようございます、もきゅりんです。

とある事情から、New Relic を使ってみたい動機があって学習を始めました。

しかし、New Relic に足を踏み入れた当初、公式ページドキュメント を見て頂ければ察するかと思いますが、 機能の豊富さに何をどうしていいか分からなかったため、自分と同じような方がいれば役立つかもしれないと New Relic がどのようなものかを簡単にまとめてみました。

具体的には、 New Relic の3つの大きな機能(どんな特長なのか) および New Relic ONE(New Relic の管理画面)に表示される機能(タブ)を中心にまとめて説明します。実際に何かを設定したりするブログではありません。

(なお、どの SaaS も製品の価値向上のために、常時ユーザー体験を改善するためのUIや機能をアップデートし続けています。このブログの情報はあくまで現時点(2020年11月)のものです。)

実際に New Relic を設定するブログに興味がある New Relic 初心者の方は、こちらもご確認下さい。

無料枠の New Relic を使って WordPress を監視してみる(設定編)

New Relic の3つの機能

まずは、New Relic の3つの特長です。 プラットフォーム概要「New Relic One」 を読んでみます。 New Relic の機能は、 テレメトリデータプラットフォーム(Telemetry Data Platform), フルスタックオブザーバビリティ (Full-Stack Observability), Applied Intelligence であると記載されています。

抽象的な名称なので、最初は面食らいましたが、英語そのままで理解するのが得策のように思えます。

Telemetry Data Platform(TDP)

Telemetry とは、「遠隔測定法」を意味しているので、Telemetry Data Platform とは、遠隔リソースからデータを取得して集約された、一元的なプラットフォームであるという理解ができます。

Full-Stack Observability(FSO)

Full-Stack Observability は、フルスタックの Observability なので、まず Observability を把握する必要があります。 モダンな可観測性(オブザーバビリティ)とはなにか では、「オブザーバビリティとは複雑なソフトウェアシステムを理解するための取組み」と称しています。つまり、「監視ではITシステムで異常が起きたときに単に通知するだけですが、オブザーバビリティではなぜ生じたかと、システムの動作がどのようになっているかを把握」するものという概念です。したがって、「フルスタック オブザーバビリティ」であるとは、アプリケーション、インフラストラクチャ、ログ、エンドユーザの行動などの様々なデータ *1から、統合的なオブザーバビリティを実現できるという意味かと思います。

Applied Intelligence(NAI)

Applied Intelligence は、AI 技術をビジネスに活用する際に使われるワードですが、 New Relic では異常検出や無用なアラートを防止する仕組み、インシデント解析に AI 技術を利用します。

この節のまとめ

まとめると New Relic とは、 様々なデータを収集して一元管理し、それらのデータを紡ぎ合わせて統合的な Observability を実現する。そして、インシデントや異常検出に AI 技術を利用するプラットフォームということになります。

次節でまとめる各サービスの機能と上記の3つの特長を図でまとめると下図のようになるのではないでしょうか。

(ただ、3つの特長は独立しているのではなく、データを統合的に集約するTDPに依存していると考えられるので、あまり正確な図ではないとは思いますが)

newrelic-one-image

どのような思想でどのような機能を提供する製品なのかを大雑把に把握できたところで、実際にアカウント登録してみます。

New Relic ONE のタブ

New Relic の新しい製品体系と価格体系 で記載されているように、New Relic は2020年8月に大きな製品体系と価格体系の変更を行いました。

数値上限はありますが、1ユーザであれば全機能を期間制限なく無償利用できます。(フルユーザー1人に加えて、基本的な機能を利用できる基本ユーザーの人数に制限はありません。) この機会にとりあえず使わない理由はないと個人的には思います。

New Relic One user model | New Relicのドキュメント

new_relic_new_pricing

アカウント登録の進め方は特に難しいものではないので、割愛します。

サインアップ はこちらから可能です。

New Relic アカウントを作成すると次のような画面が表示されます。

new_relic_top

Add your data を押下すると下記のような表示がされます。 Telemetry Data Platform が標榜しているように、New Relic が収集して管理できるデータの領域がとても広いことが分かります。

New Relic_add_data1

New Relic_add_data2

次に、ヘッダータブです。それぞれ下表のような機能があります。

new_relic_top_tabs

タブ 機能内容
Dashboards デフォルトのUIグラフを簡単にダッシュボードに追加したり、収集したデータを加工して、分析後のグラフを追加したり、React を使ってカスタマイズしたダッシュボードを作ることも可能。
Entity explorer New Relic のモニター対象となる、あらゆるデータを検索できる。
APM Application Performance Monitoring を行える。各プログラミング言語に対応されたエージェントをインストールして、内部からアプリケーションのパフォーマンスが可視化できる。
Browser JavaScriptのエージェントを導入することで、ブラウザ・リアル・ユーザ・モニタリング(RUM)ができる。すなわち、WEBサービスのブラウザ上からみたクライアントサイドのパフォーマンスデータやユーザーアクション、ビジネスデータなどを収集できる。
Synthetics E2E(End to End)モニタリングサービスで、APM や後述する Infrastructure が内部から測定するのに対して、世界中のロケーションからアクセスして、アクセス可否や処理時間などのユーザー体験(UX)を測定できる。
Mobile モバイルアプリにおけるリアルユーザーモニタリングだけでなく、重要なクラッシュを把握して詳細な分析を行えたり、バックエンドのパフォーマンスも含めた統合的な改善を図れる。
Infrastructure AWS, GCP, Azure といったクラウド連携やオープンソースの監視システムを通じてメトリックを取得したり、エージェントインストールでさまざまなOSやミドルウェアのメトリックが取得できる。
Logs CloudWatch や fluentd, Logstash, Kubernetes など、様々なログソースからログを受け取って統合的に管理して高速に検索・分析ができる。
Alerts & AI AI技術を用いて、New Relic が持つさまざまなデータの相関分析からアラートノイズを軽減したり、潜在的なシステムインシデントの通知ができ、また、すでに利用中のインシデント管理ツールもそのまま活用できる。

以上で、大まかに主要な機能をまとめてみましたが、この広大な世界にどうやって踏み入れていけば良いのでしょうか。

New Relic の導入ステージ

過去ウェビナーイベントの New Relic はじめの一歩 では、New Relic の導入ステージについて、次の3段階に分けて説明しています。

  1. 導入初期
  2. 安定性向上期
  3. イノベーション期

導入初期にだけ触れると、まず New Relic のエンティティとなるシステムのサービスを利用するユーザー満足度に強く影響する範囲を最優先として、パフォーマンスの把握、エラー分析やアラート設定を進めることを推奨しています。

上記ウェビナーで扱っている内容のように、まずは APM, Infrastructure を軸に必要不可欠なアラートの設定、ダッシュボードでパフォーマンスの可視化を進めていくのが基本かと考えます。

ぜひ動画を確認して頂ければと思います。

最後に

まだ New Relic のほんの第一歩に過ぎませんが、どのような考え方で、どのような機能から利用していけば良いかの助力となれば幸いです。

New Relic を学ぶ方法の参考情報源の紹介として、下記弊社ブログもとても参考になるかと思います!

知る・調べる・学ぶ! 可観測性プラットフォーム New Relic の豊富な公式情報源【ウェビナーもあるよ!】 | Developers.IO

以上です。

どなたかのお役に立てば幸いです。

参考

脚注

  1. それらの情報を New Relic では、Metrics(数値統計データ), Event(イベントデータ), Log(非正規テキスト情報), Trace(分散トレーシング) の頭文字から「MELT」と称しています。監視を実現するために(可観測)、これらのデータ取得が必要という考えです。