New Relicプラットフォームは、完全で効率的なシステム監視に必要と考える、次の4つの基本的なテレメトリーデータタイプについて構築されます。メトリクス、イベント、ログ、およびトレース(オブザーバビリティ業界では「MELT」と呼ばれることがよくあります)。
New Relicアカウントにサインアップし、当社のモニタリングサービスのいずれかをインストールすると、データの処理を開始できます。
当社のデータの概要
このドキュメントでは、MELTコアデータタイプ、その構成、機能での使用方法についてかなり技術的に説明します。基盤となるデータ構造を理解しなくても、ほとんどの機能を使用できます。この点をよく理解すると、New Relicへのデータ入力、UIに表示されるデータの理解、データのクエリとチャート化に役立ちます。
メトリクス
最初に、モニタリング業界の観点から見たメトリクスの定義について説明し、その後、どのようにしてNew Relicがメトリクスを処理しているかについて説明します。
モニタリング業界におけるメトリクス
ソフトウェアモニタリング業界において、メトリックはアプリケーションまたはシステムの数値計測を意味しています。メトリクスは一般的に規則的なスケジュールでレポートされます。
メトリクスには主に2つのタイプがあります。
- 集計データ。例:1分間にカウントされたイベントの数、または1分あたりのイベントの割合。
- 時間のある瞬間における数値的なステータス。例: CPU温度の読み値、または「使用されているCPU%」のステータス。
メトリクスは比較的、レポートとストレージが簡単です。理由は、単一のレコードで時間の範囲を示せるためです。また、時間をかけてさらに多くのメトリクスを集計することもできます。たとえば、ある一定の時間後に、1分あたりのデータを「ロールアップ」して1時間あたりで集計し、最終的には、1日あたりで集計することができます。このアプローチは長期にわたるデータストレージにおいて効果的です。
メトリクスはデータの長期保管および経時的なトレンドの把握に適した強力なソリューションです。不都合かもしれないことは、時間をかけて集計した古いデータの詳細な分析の実施が困難である可能性があることです。つまり、特定の重要なアクションについて高度な詳細が必要な場合は、イベントデータを使用できます。
New Relicにおけるメトリクス
概念的に「メトリクス」は広範で一般的なカテゴリーです。New Relicは、メトリクスの測定と報告を様々な方法で行っていますが、実際には、New Relic UIを使用する際に厳密な仕組みについて理解する必要はほぼありません。詳細を知る必要がある場合(データのクエリ方法の把握など)を除き、当社はそのドキュメンテーションにおいて、基本的にデータの報告方法に関係なく「メトリクス」についてのみ言及します。
以下は、New Relicプラットフォーム全体におけるメトリクスの報告および格納方法を示しています。
カスタムメトリックをレポートしたいですか?データをNew Relicに投入を参照してください。
イベントデータ
まず、モニタリング業界の観点から見たeventsの定義について説明し、その後、どのようにしてNew Relicがイベントデータを処理しているかについていくつか具体的に説明します。
モニタリング業界におけるイベント
ソフトウェア業界において、イベントはシステムで発生する単なる「もの」と思われているかもしれません。たとえば、サーバ設定の変更はイベントです。別の例: ウェブサイトユーザーのマウスクリックもそうです。
一部のイベントは保存されたレコードを生成し、そのレコードも一般的に、eventと呼ばれます。
イベントデータは離散的に発生し、一般的に高レベルの詳細を有しているため、イベントデータは詳細な分析やクエリに適しています。イベントデータ使用の不利な点は、通常報告されるイベントが非常に多いために、大規模なデータセットの長期にわたるクエリが困難になる可能性があることです。
New Relicにおけるイベント
New Relicでは、eventsとも呼ばれるデータオブジェクトに対するイベントをレポートします。これらのイベントは、複数の属性(キーと値のペア)を有します。イベントデータはいくつかのUIチャートと表で使用され、イベントデータのクエリを行うこともできます。イベントデータをどのくらいの間使用できるかは、データ保持期間についてのルールにより決定されます。
APMは、アプリケーションにおける論理的な作業ユニットを示す、Transaction
と呼ばれるイベントタイプをレポートします。このイベントに添付された属性を確認する場合は、以下のようなNRQL クエリを使用できます。
Select * from Transaction
イベントデータのクエリの例については、NRQLの概要を参照してください。
New Relicイベントデータについてのその他の詳細:
- イベントは、添付されたあらゆるタイプの属性を有することができます。一部のイベントには、メトリックデータをレポートする属性があります。
- カスタムイベントをレポートできます。
- イベントデータのクエリ/チャート作成機能を高めるため、イベントをメトリクスに変えることができます。
- 一部のシステムでは、収集限度を超える多数のイベントを生成するため、クエリの結果が不完全なものになります。これについての詳細は、イベントのサンプリングを参照してください。
- eventは一般的な用語のため、一部のNew Relicコンテキストでは、NRQLを通じてクエリが可能なデータ型を指します。たとえば、NRQLクエリを実行すると、検査済みイベントの数が返されます。これは、クエリされたすべてのデータ型数です。
ログデータ
まず、モニタリング業界の観点から見たlogsの定義について説明し、その後、どのようにしてNew Relicがログレポーティングを処理しているかについていくつか具体的に説明します。
モニタリング業界におけるログ
ログは、システムのアクティビティを理解して問題を診断するための、システムに関するメッセージです。
New Relicにおけるログ
当社の機能は、お客様のログデータとNew Relicがモニタリングするその他のデータをつなぐ集中型プラットフォームを提供します。たとえば、APMデータとともにログを表示できます。
New Relicにおいて、ログデータは複数の属性(キー値データ)が添付された状態でレポートされます。ログデータをクエリする場合は、以下のようなNRQLクエリを使用できます。
Select * from Log
カスタムログデータをレポートする場合は、Log APIを参照してください。
トレースデータ
最初に、モニタリング業界の観点から見たトレースの定義について説明し、その後、どのようにしてNew Relicがトレーシングを処理しているかについていくつか具体的に説明します。
モニタリング業界におけるトレーシング
アプリケーションインフラストラクチャモニタリングの世界において、tracingは、プログラムやシステムの運用方法にまつわる情報をレポートするためのさまざまな方法を指す一般的な用語です。たとえば、stack traceはプログラムのサブルーチンに関する徹底的な情報を提供します。
多くのサービスやマイクロサービス全体に分散していることが多く、「トレーシング」は多くの場合、複雑な分散型環境を通じて伝播する時にリクエストをモニターする方法であるdistributed tracingを指します。
New Relicにおけるトレーシング
New Relicは、分散型システム全体のリクエストを追跡してトレースを把握、分析する専用のUIを提供するディストリビューティッド(分散)トレーシング機能を提供しています。New Relicにおいて、トレースデータは、複数の属性(キー値のペア)を添付したSpan
オブジェクトとしてレポートされます。
トレーシングデータをクエリする場合は、以下のようなNRQLクエリを使用できます。
Select * from Span
ディストリビューティッド(分散)トレーシングの詳細については、ディストリビューティッド(分散)トレーシングを理解するを参照してください。
カスタムのディストリビューティッド(分散)トレーシングデータをレポートする場合は、トレースのAPIを参照してください。
データのクエリと送信
New Relicのデータ型を理解すると、以下のような点で役立ちます。