在 New Relic 中记录自定义维度指标

Recording custom dimensional metrics in New Relic

我正在寻找一种使用 node.js new-relic 代理记录具有多个维度的自定义指标的方法。据我所知,自定义指标的 API 仅包括 a name and a value.

是否可以给一个metric加标签,实现多维查询?例如,当我为我的缓存系统记录指标 with Prometheus 时,我添加了如下标签:

这让我可以根据不同 KPI 仪表板的不同标签(按租户、按网络 API 等)汇总我的数据。

这可以直接用 New Relic 实现吗? (我不是问 New Relic Prometheus 集成)

当 New Relic 清晰 supports dimensional metrics 时,API 如此简单化似乎很奇怪 supports dimensional metrics

APM 通常记录称为metric timeslice data 的非维度指标。我不知道造成这种差异的根本原因,但我怀疑这仅仅是因为 APM 是 New Relic 的第一个产品,而当时可能没有实施维度指标。我还没有确认,但 recordMetric() 可能使用时间片指标。

主要有两种解决方法:

  1. APM 交易是维度化的。如果指标是特定于交易的,您可以多次调用 newrelic.addCustomAttribute('key1', 'value1') 以将维度附加到交易。然后您可以使用 NRQL 进行查询。例如:FROM Transaction SELECT * WHERE key1 = 'value1' FACET key2.
  2. 直接调用metrics API。这使您可以发送不会附加到应用程序的维度指标,当然其中一个属性可以是应用程序名称。然后可以通过 NRQL 类似地查询:FROM Metric SELECT * WHERE key1 = 'value1' FACET key2.

根据this answer on the newrelic forum, this is possible using the New Relic Telemetry SDK for node.js