0

问题:我刚刚使用 New Relic 检测了一个节点微服务,我看不到该服务的聚合(有其他服务)和个人(没有其他服务数据)形式的数据。

问题详述:作为 New Relic 检测/配置的一部分,我使用服务名称设置“app_name”。(这是 New Relic 的标准配置设置。)

完成此操作后,我可以转到 New Relic 并通过从应用程序列表中选择它(按 app_name)来查看正在运行的微服务。我可以看到概述、服务地图、事务、数据库......这些页面都很好地关注我的服务,并突出显示我作为服务所有者/开发人员感兴趣的指标。

然而,我的经理有一个团队,每个人都拥有/开发服务。我的经理希望所有这些服务共享相同的“app_name”,这样他就可以访问 New Relic,查看概览、服务地图、事务......所有这些都很好地显示了他负责的所有服务的兴趣指标.

如果我们在服务中使用唯一名称,我的经理不会获得聚合视图。如果我们在所有服务中使用一个通用名称,服务所有者就不会获得他们服务的集中视图。

我想让 New Relic 数据的两个消费者都能得到他们想要的东西。

这必须是具有共同解决方案的共同需求。

我尝试过/学到的东西:多个“app_name”:我了解到我可以为每个服务/应用程序提供最多三个“app_name”值。我已经尝试过了,它似乎工作得很好。通过提供唯一名称和通用名称,这两个应用程序名称都可以在“应用程序”选择列表中使用。这似乎可以满足我们的需要,但文档暗示这是为了支持在不同环境中运行的应用程序。它似乎也是一种“类似黑客”的方法,因为它仅限于三个值,并且可以想象需要更多方法来聚合数据。如果这是推荐/常用的方法,那么我可以接受。

类别/标签方法:我还尝试为应用程序添加标签(标签是在 New Relic 配置中设置的键/值对)。这似乎是一种更通用的方法,可以根据需要进行扩展。但是,它并不能解决问题。它只是允许按类别过滤应用程序/服务列表。这些类别不可用作聚合指标的方式。

见解/基础设施:有一些我还不了解的 New Relic 功能。我们的帐户无法访问这些功能,因此如果它们是正确的方法,我需要建议我们增强我们的帐户。

所以。这似乎是一个相当基本的共同愿望。我可能错过了一个明显的方法,但我还没有看到它。搜索 New Relic 文档有点棘手,因为它是使用 New Relic 功能的语言编写的,而且我不知道我是否使用了正确的搜索词。

如果有人知道解决此问题的普遍正确方法,我将非常感谢您的来信。

4

1 回答 1

0

New Relic 旨在按照您最初开始使用它的方式工作:现实世界中的一个应用程序就是 New Relic 中的一个应用程序。每个服务或微服务都应作为 APM 中的单独应用程序向 New Relic 报告。否则,您会污染您接收的数据。

考虑一个应用程序面向公众(“foo”),而另一个应用程序仅是内部应用程序(“bar”)的场景。如果他们都只使用一个应用程序名称(“foobar”)向 New Relic 报告,那么您可能会在 APM 中打开“foobar”并看到它具有中等吞吐量但响应时间良好。实际上,面向公众的请求可能会受到重创,或者性能可能很差,但是由于您的内部站点流量较低,因此对每个请求的响应速度非常快,因此您的平均吞吐量和“foobar”中的平均响应时间看起来不错.

如果您的经理需要能够查看应用程序数据,那么他们应该使用 New Relic Insights。您可以跨多个应用查询数据,例如:

SELECT * FROM Transaction WHERE appName = 'foo' OR appName = 'bar'

您可以使用 Insights 中的事件浏览器来查找更多要查询的字段。

于 2017-11-01T00:06:28.573 回答