サーバーIDとメトリックデータの一覧 (API v2)

ここでは、New Relic REST API (v2) を使って、指定したサーバーIDAPIキーのメトリックの名前と平均値を取得する方法について説明します。

注: データを取得した際に返される値は、指定した期間やデータの保存方法によって変わることがあります。詳しくは、メトリックデータの抽出をご覧ください。

目次

サーバーIDの表示

ヒント:New Relic の REST API Explorer を使って、ここでの例を同じ情報を取得したいならば、アプリのメトリックデータの取得 (Explorer)を参照してください。

サーバーIDを表示する方法は、以下のとおりです。

curl -X GET'https://api.newrelic.com/v2/servers.json' \
     -H "X-Api-Key:${API_KEY}" -i 

出力内容は、各要素がサーバーとそれに関連付けられたデータであるデータの配列です。例えば、ここでは、初めに2つの要素があります。現在レポートしていないのサーバーID 2725583 (“api1.com”)と現在レポート中のサーバーID 2190582 (“production1.center.com”) です。

{
  "servers": [
    {
      "id": 2725583,    <---<<< SERVER_ID
      "account_id": XX,
      "name": "api1.com",
      "host": "api1.com",
      "reporting": false
    },
    {
      "id": 2190582,   <---<<< SERVER_ID
      "account_id": XX,
      "name": "production1.center.com",
      "host": "production1.center.com",
      "reporting": true,
      "last_reported_at": "2014-08-21T21:26:54+00:00",
      "summary": {
        "cpu": 6.07,
        "cpu_stolen": 0,
        "disk_io": 0.1,
        "memory": 8.45,
        "memory_used": 2846883840,
        "memory_total": 33710669824,
        "fullest_disk": 28.8,
        "fullest_disk_free": 13691000000
      }
    },
    ...

ヒント: サーバー名を知っているならば、以下のようにサーバーIDを取得できます。

curl -X GET 'https://api.newrelic.com/v2/servers.json' \
     -H "X-Api-Key:${API_KEY}" -i \
     -d 'filter[name]=Production.com' 

出力内容は、上記の例と同じです。ただし、1つのサーバーが対象となります。

サーバーのメトリック名の表示

サーバーで利用可能なメトリック名を表示する方法は、以下のとおりです。

curl -X GET "https://api.newrelic.com/v2/servers/${SERVER_ID}/metrics.json" \
     -H "X-Api-Key:${APIKEY}' -i "

以下のような出力内容となります。ここでは、多くの使用可能なメトリック名前とその値の中から3つのデータを示します。このリストが長くなると、出力はページ分割されます。目当てのメトリック名が見つかるまでに、いくつかのページを見る必要があるかもしれません。

{
  "metrics": [
    {
      "name": "Agent/MetricsReported/count",
      "values": [
        "average_response_time",
        "calls_per_minute",
        "call_count",
        "min_response_time",
        "max_response_time",
        "average_exclusive_time",
        "average_value",
        "requests_per_minute",
        "standard_deviation"
      ]
    },
    {
      "name": "ProcessSamples/clyde/bash",
      "values": [
        "average_response_time",
        "calls_per_minute",
        "call_count",
        "min_response_time",
        "max_response_time",
        "average_exclusive_time",
        "average_value",
        "requests_per_minute",
        "standard_deviation"
      ]
    },
    ...
    {
      "name": "System/Network/eth0/Transmitted/packets/sec",
      "values": [
        "per_second",
        "total",
        "min_per_second",
        "max_per_second",
        "standard_deviation"
      ]
    },
    ...

ヒント: メトリック名を知っている場合は、そのメトリック名を対象としたデータを取得することができます。

curl -X GET 'https://api.newrelic.com/v2/servers/${SERVER_ID}/metrics.json' \
     -H 'X-Api-Key:${API_KEY}' -i \
     -d 'name=System/Memory/Used/bytes'

上記は、メトリック名が System/Memory/Used/bytes であるデータを取得する例です。

サーバーのメトリックデータの表示

アプリケーションで利用可能なメトリックデータを表示する方法は、以下のとおりです。

curl -X GET "https://api.newrelic.com/v2/servers/${SERVER_ID}/metrics/data.json" \
     -H "X-Api-Key:$API_KEY" -i \
     -d 'names[]=System/Memory/Used/bytes&values[]=average_response_time'

上記は “平均応答時間”を求めるリクエストです。デフォルトでは、直近30分のデータを1分刻みのデータとして出力します。期間を指定したり、指定した期間のメトリック値の平均の算出や集計を行えます。

さらに詳しい情報

追加のドキュメントリソースは次のとおりです。

  • API Explorer の利用 (API Explorerの UI を使って、New Relic のデータの取得や入力を行う方法について)
  • API Explorer の部品 (API Explorer の各セクションの使い方についてのクイックリファレンス)