ここでは、New Relic REST API (v2) を使用して、特定の アプリケーション ID と API キー のメトリック名と 平均値 を取得する例を紹介します。また、この例では、異なる 時間範囲 を示しています。
データを取得する際、指定した期間やデータの保存方法によって、返される値が影響を受ける場合があります。詳しくは、 メトリック・タイムスライス・データの抽出 をご覧ください。
すべてのアプリケーションIDをリストアップ
また、New RelicのREST API Explorer を使って、この例と同じ メトリックのタイムスライスデータをアプリの 情報として取得することもできます。
すべてのアプリのIDを表示するには、次のコマンドを使用します。
$curl -X GET 'https://api.newrelic.com/v2/applications.json' \> -H "Api-Key:$API_KEY" -i
$API_KEY
をAPI キーに置き換えます。
出力はデータの配列となり、要素はアプリケーションとそれに関連するデータです。例えば、アプリID 96785 ("GreatTimes Staging") と 1622 ("GreatTimes Prod") の最初の2つの要素を示しています。
{ "applications": [ { "id": 96785, "name": "GreatTimes Staging", "language": "ruby", "health_status": "gray", ... }, { "id": 1622, "name": "GreatTimes Prod", "language": "ruby", "health_status": "green", ... } ]}
アプリIDを名前で一覧表示
名前がわかっている場合に特定のアプリの ID を表示するには、次のコマンドで$NAME
と$API_KEY
名前をAPI キーに置き換えます。
$curl -X GET 'https://api.newrelic.com/v2/applications.json' \> -H "Api-Key:$API_KEY" -i \> -d "filter[name]=$NAME"
出力は、 list all app IDs の例 で示したものと同じですが、特定のアプリケーションについてのみ出力されます。
メートル表示のガイドライン
アプリケーションで利用可能なメトリック名をリストアップすることは、非常に集中的な操作となるため、必要な場合にのみ使用してください。多数のメトリック名をリストアップすると、他の用途と同様に、応答性に悪影響を及ぼす可能性があり、 過負荷保護 を起動することになるかもしれません。
以下のガイドラインに従って、最適な使い方をしてください。
メトリクス名の一覧表示 | ガイドライン |
---|---|
メトリック名 | 必要なメトリック名を慎重に検討してください。メトリック名の一部がわかっている場合は、 |
キャッシュ | メトリック名を取得したら、このリストを今後のためにキャッシュすることを検討してください。ほとんどの場合、メトリック名は揮発性ではないため、再利用することで処理時間を短縮することができます。 |
アプリのメトリック名の一覧
お使いのアプリケーションで利用可能なメトリック名を表示するには
$curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics.json" \> -H "Api-Key:$API_KEY" -i
$API_KEY
をAPI キーに置き換えます。
出力は以下のようになります。これは、利用可能な多くのメトリック名のうちの2つとその値を示しています。これらのリストは長いかもしれません。メトリック名のリストを作成する際には、 ガイドライン をご検討ください。
{ "metrics": [ { "name": "ActiveRecord/Account/create", "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": "Apdex/members/destroy", "values": [ "s", "t", "f", "count", "score", "value", "threshold", "threshold_min" ] }, ... ]}
次のようにname=
フィルターを指定して、メトリクス名の出力をフィルターし、より小さなリストを返します。
$curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics.json" \> -H "Api-Key:$API_KEY" -i \> -d "name=Controller/welcome/index"
$API_KEY
をAPI キーに置き換えます。
アプリの指標となるタイムスライスのデータ値を取得する
アプリケーションのメトリックタイムスライスデータを表示するには
$curl -X GET "https://api.newrelic.com/v2/applications/${APP_ID}/metrics/data.json" \> -H "Api-Key:$API_KEY" -i \> -d 'names[]=EndUser&values[]=call_count&values[]=average_response_time&summarize=true'