• ログイン今すぐ開始

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

Metric APIによるメトリクスの報告

Metric API を使用して、New Relic プラットフォームにカスタム メトリックを送信します。このドキュメントには、最初のカスタムメトリックを送信するためのクイックスタートと、メトリックデータをフォーマットして送信する方法についての詳細な情報が含まれています。

クイックスタート測定データの送信

指標タイプcountgauge 、およびsummaryをレポートします。メトリクスの詳細については、ドキュメントを参照してください。

メトリックデータは、HTTP POST リクエストで New Relic に送信されます。各リクエストは1つ以上のメトリックデータで構成され、メトリック名、タイムスタンプ、値で構成されます。

この例に従って、最初のメトリックデータポイントをNew Relicに送信します。

  1. データを報告したいアカウントの ライセンスキー を取得します。

  2. ライセンスキーを以下のJSONに挿入し、そのJSONを当社の エンドポイント に送信します。

  3. timestampを有効なエポック タイムスタンプで更新してください。この例では、 memory.heapという名前のメトリックに対して 1 つのメトリック データ ポイントを作成しますが、メトリック タイプを指定するか、オプションのcommonブロックを追加することで、追加の属性またはデータ ポイントを作成できます。

    curl -vvv -k -H "Content-Type: application/json" \
    -H "Api-Key: NEW_RELIC_LICENSE_KEY" \
    -X POST https://metric-api.newrelic.com/metric/v1 \
    --data '[{ 
            "metrics":[{ 
               "name":"memory.heap", 
               "type":"gauge", 
               "value":2.3, 
               "timestamp":CURRENT_TIME, 
               "attributes":{"host.name":"dev.server.com"} 
               }] 
        }]'

メトリックは数秒で New Relic で利用できるようになります。このクエリを使って、任意の NRQL インターフェース からデータを照会することができます。

FROM Metric SELECT max(memory.heap) TIMESERIES

データが表示される場所については、 Find Metric API data を参照してください。

エンドポイントURL

メトリックAPIのエンドポイントにメトリックデータを送信する場合は、HTTP POSTを使用します。

https://metric-api.newrelic.com/metric/v1

ヒント

お使いのアカウントがEUデータセンターでデータをホストする場合は、適切なEU地域アカウント向けAPIエンドポイントを使用していることを確認してください。

HTTPリクエストヘッダ

POSTリクエストには、以下のHTTPリクエストヘッダを含めてください。一部のパラメーターは、リクエストヘッダーではなく、クエリパラメーターとして送信できます。

ヘッダー

クエリのパラメータとして送信しますか?

詳細

Content-Type

いいえ

必須application/jsonでなければなりません。

Content-Length

いいえ

必須(通常、HTTP クライアントが自動的に設定します).リクエストボディの長さをオクテット(8ビットバイト)で表します(チャンクされたエンコーディングで送信された場合を除く)。このヘッダーは、通常、データを送信する基礎となるHTTPクライアントによってデフォルトで設定され、ほとんどの場合、エンドユーザーが追加の努力をする必要はありません。

Api-Key

はい

必須。 データを報告したいアカウントの ライセンスキー 。これがヘッダとクエリパラメータの両方として提供されている場合、値が一致している必要があります。

Content-Encoding

いいえ

GZIP の場合は必須。値はGZIPまたはIdentity.でなければなりません。値が存在しない場合は、 Identityが想定されます。

x-request-id

いいえ

オプション-将来の使用のために予約されています。値は有効なUUID4である必要があります。値は、リクエストごとに一意であることが期待されます。

HTTPリクエストボディ

HTTP POSTリクエストのボディは、JSON形式である必要があります。以下に、JSONペイロードの要件と推奨事項を記載します。

ペイロードは UTF-8 としてエンコードする必要があります。

構造

JSONペイロードはこの構造体を使用しています。

  • JSONのペイロードは、マップの配列です。
  • 各マップにはmetricsキーが含まれている必要があります。その値は、1 つ以上の指標データ ポイントを含む配列です。
  • メトリック データ ポイントは、 namevalue 、およびtimestampとオプションの属性セットによって識別されます。

必要なキー・バリュー・ペア

metrics配列内の各指標データ ポイント マップは、次のキーと値の構造を使用します:

説明

name

ストリング

必須.メトリックの名前です。値は255文字以下でなければなりません。

value

数字 or 地図

必須。値は指標タイプによって異なります。gaugecountの場合、値は単一の数値でなければなりません。summaryの場合、値は、カウント、合計、最小、および最大を指定するキーと値のペアを持つマップである必要があります。

timestamp

長さ

必須.メトリックの開始時刻を Unix時間で表示.デフォルトではUTCタイムゾーンを使用します。このフィールドは、秒、マイクロ秒、およびナノ秒もサポートしています。ただし、データは保存や検索のためにミリ秒に変換されます。報告されたタイムスタンプが48時間前よりも古いものや、報告された時点から24時間後よりも新しいものは、メトリクスが削除されます。

interval.ms

ポジティブロング

countおよびsummary指標タイプに必要です。時間枠の長さ。

type

推奨。これは、サポートされている指標タイプの 1 つである必要があります。タイプを指定しない場合、これはデフォルトでgaugeになります。

attributes

文字列, JSON 数字, または ブーリアン

推奨.この特定のメトリックに関連するキー・バリュー・ペアのマップ。値は、文字列、JSON の数値、またはブーリアンです。キーは大文字と小文字を区別し、255文字以下でなければなりません。

メトリック間で属性を共有する common

複数の指標に一連の属性を含めたい (各指標に同じ属性を追加したくない) 場合は、 commonブロックを使用できます。これは、関連するすべてのメトリック データ ポイントに適用される情報を指定するオプションのマップです。メトリック データ ポイントに同じキーが存在する場合、共通セクションの値は上書きされます。

ブロックを含むことができます。

属性

説明

timestamp

長さ

メトリックの開始時刻を Unix時間 で表したものです。デフォルトでは、UTCタイムゾーンの現在の時刻になります。このフィールドは、秒、マイクロ秒、およびナノ秒もサポートしています。ただし、データは保存や後のクエリのためにミリ秒に変換されます。

interval.ms

ポジティブロング

countおよびsummaryに必要です。時間枠の長さ。

attributes

文字列、JSONの数値、またはブーリアン

この特定のメトリックに関連するキーと値のペアのマップ。値には、文字列、JSONの数値、またはブーリアンを使用できます。

レスポンスの検証とステータスコード

メトリクス API は、成功したリクエストに対して202レスポンス コードを返します。データが受け入れられると、HTTP 202応答コードが次のような応答構造で返されます:

HTTP/1.1 202 Accepted
Content-Type: application/json; charset=UTF-8
Content-Length: 52
Access-Control-Allow-Methods: GET, POST, PUT, HEAD, OPTIONS
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Connection: keep-alive
{"requestId":"f0e7bfff-001a-b000-0000-01682bcf4565"}

202応答でデータが欠落しています

202コードは、API がデータを受信し、データが基本的な検証チェックに合格したことを示します。通常、データは数秒以内にクエリに使用できるようになります。ただし、New Relic はデータを受け取った後、非同期で追加の検証を実行します。202レスポンスを受信してもメトリクスが見つからない場合は、この非同期検証中に New Relic がエラーを検出したことを示しています。

これらのエラーは、使用した Insert API キーに関連付けられたアカウントでNrIntegrationErrorイベントをクエリすることで見つけることができます。各リクエストのrequestIdは、 NrIntegrationErrorイベントでタグ付けされます。詳しくはNRIntegrationErrorイベントのトラブルシューティングを参照してください。

ステータスコード

Metric APIは、以下のHTTPステータスコードを返すことができます。

ステータスコード

定義

202

データを受け付けました。

400

リクエストの構造が無効です。

403

認証に失敗しました。

404

リクエストパスが正しくありません。

405

POST以外のリクエストメソッドを使用しました。

408

リクエストがエンドポイントに到達するまでに時間がかかりすぎました。

411

Content-Lengthヘッダーが含まれていませんでした。

413

ペイロードが大きすぎました。ペイロードは1MB(10^6バイト)以下でなければなりません。

414

リクエストURIが長すぎました。

415

Content-TypeまたはContent-Encodingが無効でした。

429

リクエストレートのクォータを超えてしまいました。

431

リクエストヘッダーが長すぎます。

5xx

サーバーエラーが発生しました(再試行してください)。

Copyright © 2022 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.