データコレクション: メトリックのタイムスライスとイベントデータ

New Relic は主にメトリックの時系列データとイベントデータの2つのタイプのデータを収集します。New Relic UI ではタスクごとに最適などちらかのデータタイプを表示します。一方、カスタムデータの送信時や API 経由でデータを取得する際は、データタイプを気にする必要があります。

ここでは、データタイプごとにどのタスクが最適なのかを説明します。そして、データタイプごとにカスタムデータをレポートする方法や、New Relic UI、API 経由でデータを取得する方法についても説明します。

概要: メトリックタイムスライスとイベントデータ

メトリックの時系列データは、通常、時系列のパフォーマンスデータで使われます。New Relic エージェントは、様々なパフォーマンスのメトリクスを1分間に数千のメトリックの時系列データを収集しています。例えば、エラー率の計測、帯域幅使用量、ガーベッジコレクションの処理時間などです。

イベントデータは、(NRQLエラー分析ヒストグラムなどの)特徴に基づき、データを絞りこみたい場合、便利です。New Relic エージェントは、各イベントごとに詳細な属性を含むイベントを大量に収集しています。例えば、個々のブラウザのページロード、Synthetics モニターの実行結果、ショッピングカートのチェックアウトのトランザクションなどです。

データの表示とカスタマイズ

以下の表では、どの製品がどんなデータを収集しているのか、どの New Relic UI や API からそのデータにアクセスできるのか、各データタイプをカスタマイズする方法について説明します。

製品ごとのデータタイプ
以下の表は、New Relic 製品ごとに、送信しているデータタイプを示します。New Rliec からデータを取得する方法は、この表と以下のUI や API 経由でデータにアクセスするから判断してください。

APM Browser Mobile Plugins Servers Synthetics
メトリック fa-check fa-check fa-check fa-check fa-check
イベント fa-check fa-check fa-check fa-check
UI や API 経由でデータにアクセスする
各 New Relic 製品の UI では、適切なデータタイプを表示します。以下の表では、New Relic の機能においてどのタイプのデータが見えるかを示しています。

UI REST API Query API メトリックエクスプローラー イベントエクスプローラー レガシーダッシュボード
メトリック fa-check fa-check fa-check fa-check
イベント fa-check fa-check fa-check
データタイプごとのカスタマイズ方法
以下の方法で、New Relic にカスタムデータを送信できます。

カスタム属性 カスタムイベント カスタム計測 * カスタムメトリクス
使用方法 メタデータを既存のイベントに追加 イベントデータを作成 アプリの計測方法を改善 メトリックの時系列データを作成
メトリック fa-check fa-check
イベント fa-check fa-check fa-check
* カスタム計測は、新しくトランザクションを作成します。そして、メトリックデータとイベントデータの両方を収集します。すでに計測済みのトランザクションの場合、カスタム計測は、メトリックの時系列データのみ収集します。

メトリックの時系列データ

メトリックの時系列データは、3つの部分から構成される統計的な尺度です。メトリック名、関連する数値、そしてそれらのデータポイントに関連付けられた時間(タイムスライス)です。例えば、 あるトランザクションにおける時間の APM のメトリックは、WebTransaction/URI/foo と名付けられ、午前10時20時から午前10時21分の間の1分間のタイムスライスに、0.793 というレスポンスタイムを持っていたりします。

時間が経つにつれて、データ保持スケジュールに基づいてメトリックの時系列データは集約されていきます。一般的には、メトリックの時系列のデータは、イベントデータよりも長期間保持されます。メトリックの時系列データの保持期間は、イベントデータよりも長く、名前と関連する数値には制限があります。メトリックの時系列データは、パフォーマンスデータを表すのに最適なデータです。

メトリックの時系列データは、New Relic UI から利用できます。さらに、Insights のメトリックエクスプローラーから検索でき、REST API を使って問い合わせが行えます。また、任意のメトリックをカスタムメトリックと一緒に New Relic に送信できます。また、カスタム計測を使って、アプリから詳細なパフォーマンスのメトリクスを収集できます。

イベントデータ

イベントデータは、ある時点の特定のモーメントに対する単一イベントの記録です。イベントは、タイムスタンプやイベントタイプなどのコア属性で構成され、より多くのコンテキストの提供には、多くの追加の属性を注釈付けできます。例えば、New Relic Browser は、街、デバイス種別、描画時間、ページURLなど、エンドユーザーのブラウザの各ページビューから詳細なイベントを収集します。イベントデータは、時間が経過しても集約されません。

各イベントは別々のレコードなので、「昨日よりも、1秒以上読み込み時間がかかった、シカゴのユーザーはどれくらい?」 などの具体的な質問に対して、イベントデータを問い合わせることができます。通常、イベントデータは、メトリックの時系列データよりも、保持期間は短いですが、Insights PRO を利用すれば、イベントのデータ保持期間を伸ばすことができます。

イベントデータは、New Relic UI で、error analytics のような絞り込み可能なページで使われます。さらに、Insights のイベントエクスプローラーを使って検索したり、Query API を使って、問い合わせることができます。Insights API (Insights 有料版)や APMBrowseriOS、Android エージェントを使って、カスタムイベントを作成できます。また、既存のイベントには、カスタム属性としてメタデータを付与できます。また、カスタム計測で計測した新規のトランザクションからもイベントデータを収集します (まだ、計測したトランザクションに詳細を追加していないときに限る)。

データタイプと New Relic UI

New Relic UI のチャートで、時系列データとイベントベータを両方とも使われます。例えば、Web トランザクションのレスポンスタイムチャートは、時系列でレスポンスタイムをグラフ化するのに、メトリックの時系列データを使っています。一方、 ヒストグラムの作成には、分ごとの時系列データではなく、個々のリクエストをグループ化したデータ必要なため、Web トランザクションのヒストグラムチャートは、イベントデータを使っています。

crop-metric-timeslice-and-event-charts.png
https://rpm.newrelic.com/apm > (選択したアプリ) > Overview: Web transactions response time チャート (左) は、メトリックの時系列データを使用。Web transactions histogram チャート (右) はイベントデータを使用。