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

时间:2013-12-04 03:59:49

标签: monitoring newrelic

我正在尝试从我的应用程序中获取JVM指标,该应用程序运行三个实例,具有三个独立的JVM。我可以在New Relic仪表板上看到我感兴趣的不同数据,在监控 - > JVM选项卡。我也可以通过点击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>

所有metric元素都包含相同的agent_id字段,我从未指定要使用的代理。我怎么能:

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

1 个答案:

答案 0 :(得分:1)

agent_id可以是特定的JVM实例,虽然您不能同时请求多个代理,但您可以请求单个JVM的度量标准。

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

1)对

的API调用
https://api.newrelic.com/api/v1/accounts/:account_id/applications/:app_id/instances.xml

2)在New Relic用户界面中浏览到JVM(在选择应用程序后使用右上角的“JVM”下拉列表),然后从URL中获取ID。

ID类似于[account_id]_i2043442

某些数据不可用JVM细分,最值得注意的是,如果agent_id不是应用程序,则对threshold_values.xml的调用将无效。

V1 API的完整文档:http://newrelic.github.io/newrelic_api/