我提出了一张票,但一周内没有回应。
有没有人设法让这个工作?
New Relic 代理在工作角色中的作用不大。它可以监控一些东西——CPU、内存、错误、sql、外部接口——但其他的不多。绝对不起作用的一件事是代理 api——因此没有自定义指标或 NoticeError。
我在试图从支持中获得答案时遇到了类似的问题,但他们最终确实证实了他们缺乏支持。以下是他们的一些答案。
代理提供的 Azure 支持
我们相信我们有一个引人注目的 Azure 解决方案,但它并不涵盖所有情况。当然还有很多工作要做,而且在我们的路线图上。我们认为 .NET 代理是一等公民,更好地支持 Azure 是重中之重。我们还计划更新 API 以更好地支持非 Web 应用程序。
特别是在您的情况下:
虽然可以检测工作人员角色并从检测中获取有价值的数据,但这些数据不会出现在我们的大多数图表中。原因是大多数图表都依赖于作为 Web 或数据库事务的一部分完成的工作。以工人角色完成的工作通常不是这种情况。很抱歉,我们最初的文档更新围绕检测自定义应用程序(非 Web 应用程序)更新了我们的文档: https ://newrelic.com/docs/dotnet/instrumenting-custom-applications
而不是您引用的文档:
https://newrelic.com/docs/dotnet/AgentApi
...我们现在已经更新了这个。如果您有时间,我们很乐意收到您的反馈。我觉得这终于有据可查,但希望你也有同样的感受。
并从较早的回应
我查看了您的 API 使用情况,当您正确使用 API 时,不幸的现实是,我们的 .NET 代理实际上并不支持来自许多非 Web 应用的 .NET 应用的完整代理 API,而您的似乎属于该类别. 我怎么知道?因为您的应用程序没有指标——响应时间、数据库等。您可能会看到的只是吞吐量和错误率(我相信您已经看到了)。我们使用我们自己的代理 API 来报告其余的指标,因此它们不会出现。此外,我们现在根据 Web 入口点显式记录响应时间等内容,但我们正在努力解决这个问题。不幸的是,这个修复非常遥远——我什至不能保证 ETA。在研究发生了什么时,我们发现我们自己的文档未能指出这个已知问题
此外,Azure 门户(支持和计费)和 New Relic 之间的集成非常糟糕,所以我建议通过他们自己的网站而不是 Azure 市场订阅 New Relic。
我主要是 New Relic 的粉丝,并认为总体上它比替代品要好,但它们缺乏工作人员角色支持可能会破坏 Azure 应用程序的交易。如果情况发生变化,我会密切关注并更新此答案。
您应该能够将可用 API 调用的子集与您的检测工作者角色一起使用。特别是 RecordMetric、RecordResponseTimeMetric 和 IncrementCounter 非常有用,因为它们适用于非 Web 应用程序。可以使用 New Relic 自定义仪表板将这些指标组织成图表或表格。以下是 .NET API 的完整文档: