メトリクスタイプのデータ を、 イベント、ログ、スパン など、New Relic の他のタイプのデータから生成することができます。メトリクスはお客様のデータを集約したもので、長期的なトレンドの分析・監視に最適です。
このドキュメントは、以下について説明します。
なぜ他のデータタイプからメトリクスを作成するのか?
メトリクスを使用することで、より効率的にデータを保存することができます。これにより、データの照会やチャートの作成がより簡単にできるようになります。New Relic におけるメトリクスと他の種類のデータの違いは、時間に基づいています。詳しくは、 Understand data types をご覧ください。
- イベント、ログ、スパン: これらのタイプのデータは、ある特定の瞬間の1つの記録を表しています。例えば、システムへのすべてのリクエストに対するイベントがあるかもしれません。このデータは、詳細なトラブルシューティングや分析に最適です。
- メトリクス: これらは、イベント、ログ、またはスパンを集約したビューを提供します。メトリクスは、より長い時間の範囲で傾向を示すのに適しています。たとえば、サービスごとの総リクエスト数を1つのメトリクスに集約し、その情報を月ごとに調べることができます。
なぜメトリクスを使うのか? | コメント |
---|
柔軟性 | - メトリクスは 次元 。どのようなメタデータ(ホスト名やアプリ名など)を添付するかを選択できます。
- 平均値、合計値、最小値、最大値などの一般的な測定値はすでに計算されています。
|
データの集約と保持 | - データは、より長い期間のバケットにあらかじめ集約されています。
- データの保存期間は13ヶ月です。
|
問い合わせ機能 | Metric データタイプ を使ってクエリを行うことができます。- メトリクスを作成しても、イベントや他の種類のデータが削除されるわけではありません。しかし、より長期的なクエリやチャートを作成するには、メトリクスの方が適しています。
|
非メトリックデータからメトリックデータを生成する方法を紹介した動画があります(7分47秒)。
まず、データをメトリクスに変換するために、 ルールを作成します。
可能な操作
イベント、ログ、スパンからメトリクスを生成するためのルールを表示、作成、削除するには、GraphQL形式のAPIであるNerdGraphをご利用ください。操作を行う前に、 NerdGraph入門 をお読みいただき、 GraphiQL APIツール を使ってデータを調査することをお勧めします。
これらの操作は、2つの基本的な リクエストタイプに分類されます 。
- Mutations 、既存のルールや設定に変更を加える操作です(例えば、新しいメトリクス・ルールの作成など)。
- クエリ 、既存のデータをフェッチするためのものです(例えば、既存のメトリクス・ルールをフェッチする)。
すべての操作は、現在ログインしているNew RelicユーザーとしてNerdGraphでロールベースで行われます。
変異
イベントからメトリクスへ、ログからメトリクスへ、またはスパンからメトリクスへの変異操作は以下の通りです。
重要
この操作はプロダクションの設定を変更するので、操作を実行する前に変更内容を十分に確認することをお勧めします。
ルールを削除するには、ルール ID と New Relic アカウント ID が必要です。
リクエスト例
eventsToMetricsDeleteRule(deletes: {ruleId: "12", accountId: 123456}) {
このリクエストで
要素 | 説明 |
---|
突然変異
| APIの基本的な操作タイプの一つ 。 |
eventsToMetricsDeleteRule
| ルールを削除するために呼び出されるメソッドです。 |
削除
| これは2つのパラメータを取ります。 ruleId : events to metrics、logs to metrics、spans to metricsのルールのIDです。accountId : The New Relic account ID.
|
成功した と 提出した ブロック
| ここでは、成功または失敗したときに返されるデータを定義します。これらのブロックで利用可能なパラメータ id (or ruleId for submitted )name 説明 nrql enabled accountId
|
リクエストに対するレスポンスの例。
"eventsToMetricsDeleteRule": {
"nrql": "select summary(duration) as 'server.responseTime' from Transaction where appName = 'Data Points Staging' facet name, appName, host"
重要
この操作はプロダクションの設定を変更するので、操作を実行する前に変更内容を十分に確認することをお勧めします。
イベントからメトリクス、ログからメトリクス、スパンからメトリクスの既存のルールを有効または無効にするには、同じ eventsToMetricsUpdateRule
の操作を使用します。唯一の違いは、 enabled
が true
に設定されているか、 false
に設定されているかです。
既存のメトリクス・ルールを有効にするリクエスト例。
eventsToMetricsUpdateRule(updates: {ruleId: "12", accountId: 123456, enabled: true}) {
このリクエストで
要素 | 説明 |
---|
突然変異
| APIの基本的な操作タイプの一つ 。 |
eventsToMetricsUpdateRule
| 既存のルールを更新し、それを有効または無効にするために呼び出されるメソッドです。 |
アップデート
| これには3つの必須パラメータが必要です。 ruleId : events to metrics、logs to metrics、spans to metricsのルールのIDです。accountId : The New Relic account ID.enabled : 無効になったルールを有効にするには、これを true に設定します。ルールを無効にするには、これを false に設定します。
|
成功した と 提出した ブロック
| ここでは、成功または失敗したときに返されるデータを定義します。これらのブロックで利用可能なパラメータ id (or ruleId for submitted )name 説明 nrql enabled accountId
|
クエリ
クエリの操作は以下の通りです。
New Relic アカウントのすべてのルールをリストアップしたり、 特定のルールを返すことができます 。
アカウントに対するすべてのルールをリストアップした例 123456
:
このリクエストで
要素 | 説明 |
---|
問い合わせ
| API の基本的な操作タイプの一つ 。問い合わせに使用されますが、変更はできません。 |
俳優
| 現在のNew Relicユーザーを指定します。 |
アカウント(ID: 123456)
| データを取得する New Relic アカウント の ID を指定します。 |
eventsToMetrics
| event-to-metrics、logs-to-metrics、spans-to-metricsのルールでのみデータをスコープします。 |
すべてのルール
| そのアカウントのすべてのルールを返します。 |
ルール
| rules ブロックでは、返してほしいデータを定義できます。利用可能なフィールドは以下の通りです。
id name 説明 nrql accountId enabled
|
回答例
"description": "Metric for total time",
"nrql": "select summary(totalTime) as 'server.totalTime' from Transaction where appName = 'Data Points Staging' facet name, appName, host"
"description": "Metric for duration",
"nrql": "select summary(duration) as 'server.responseTime' from Transaction where appName = 'Data Points Staging' facet name, appName, host"
ルールの正確なIDを知っていれば、特定のルールを照会することができます。たとえば、ルールを作成したばかりで、その内容を一覧表示して確認したい場合などです。
リストルールの例 36
for New Relic account 123456
:
rulesById(ruleIds: "36") {
このクエリの要素の詳細については、 すべてのルールをリストアップ を参照してください。
回答例
"description": "Metric for total time",
"nrql": "select summary(totalTime) as 'server.totalTime' from Transaction where appName = 'Data Points Staging' facet name, appName, host"
当社の GraphiQL ツール を使って、データ構造を調べることができます。また、このツールを使って、 オペレーション を構築・実行し、イベント、ログ、スパンをメトリクスに変換することができます。このツールを使うには
- 必要なパラメータを指定して、メトリクス・オペレーションのリクエストを作成します。
- api.newrelic.com/graphiql にアクセスして、クエリをボックスにペーストします。
- 操作を実行するには、 Play を押します。または、cURL形式で取得する場合は、 Copy as cURL を選択してください)。
- レスポンスボックスで回答を検証します。
- オプションです。ルール作成操作が正常に実行されたことを確認するために、 そのルールID のリストクエリを実行します。