Monitoring 在查询New Relic v1 REST API上的指标时,如何指定jvm代理id?

Monitoring 在查询New Relic v1 REST API上的指标时,如何指定jvm代理id?,monitoring,newrelic,Monitoring,Newrelic,我试图从我的应用程序中获取JVM指标,该应用程序使用三个独立的JVM运行三个实例。我可以在NewRelic仪表板的Monitoring->JVMs选项卡上看到我感兴趣的不同数据。通过点击REST API,我还可以获得其中一个JVM所需的信息,如下所示: % curl -gH "x-api-key:KEY" 'https://api.newrelic.com/api/v1/applications/APPID/data.xml?metrics%5B%5D=GC%2FPS%20Scavenge&am

我试图从我的应用程序中获取JVM指标,该应用程序使用三个独立的JVM运行三个实例。我可以在NewRelic仪表板的Monitoring->JVMs选项卡上看到我感兴趣的不同数据。通过点击REST API,我还可以获得其中一个JVM所需的信息,如下所示:

% curl -gH "x-api-key:KEY" 'https://api.newrelic.com/api/v1/applications/APPID/data.xml?metrics%5B%5D=GC%2FPS%20Scavenge&field=time_percentage&begin=T1&end=T2'
(我已经替换了一些字段的值,但这是我请求的完整形式。)

我得到一个回复,其中包括一长串元素,如下所示:

  <metric name="GC/PS Scavenge" begin="T1" end="T2" app="MYAPP" agent_id="AGENTID">
    <field name="time_percentage">0.018822634485032824</field>
  </metric>

0.018822634485032824
所有的
metric
元素都包含相同的
agent\u id
字段,我从未指定要使用哪个agent。我怎样才能:

  • 获取所有代理的指标
  • 指定我感兴趣的代理(这样我可以发送多个请求,每个JVM一个请求)

代理id
可以是一个特定的JVM实例,虽然不能同时请求多个代理,但可以请求单个JVM的指标

您可以通过以下两种方式之一获取JVM的代理id:

1) 对的API调用

https://api.newrelic.com/api/v1/accounts/:account_id/applications/:app_id/instances.xml
2) 浏览到NewRelic用户界面中的JVM(选择应用程序后使用右上角的“JVM”下拉列表),然后从URL中获取ID

ID看起来类似于
[account\u ID]\u i2043442

有些数据不可用,按JVM细分,最明显的是调用
threshold\u values.xml
将无法工作,如果代理id不是应用程序


v1api的完整文档:

agent\u id
可以是一个特定的JVM实例,虽然不能一次请求多个代理,但可以请求单个JVM的度量

您可以通过以下两种方式之一获取JVM的代理id:

1) 对的API调用

https://api.newrelic.com/api/v1/accounts/:account_id/applications/:app_id/instances.xml
2) 浏览到NewRelic用户界面中的JVM(选择应用程序后使用右上角的“JVM”下拉列表),然后从URL中获取ID

ID看起来类似于
[account\u ID]\u i2043442

有些数据不可用,按JVM细分,最明显的是调用
threshold\u values.xml
将无法工作,如果代理id不是应用程序

V1 API的完整文档: