c# - NewRelic 忽略单个页面的监控

标签 c# rest asp.net-web-api newrelic appharbor

我在 Appharbor(免费版本)上托管了一个网站,然后有 NewRelic 免费附加组件。我设置了可用性监控以针对我的主页。

现在,我收到了一堆错误,因为我的 REST api 页面返回了错误。我希望 NewRelic 完全忽略此页面。

如何让 NewRelic 忽略此页面?

最佳答案

听起来您想研究 New Relic .NET 代理 API 中的 DisableBrowserMonitoring()。

如果您只想关闭某些应用程序(正在监控的应用程序/网站)的 RUM 功能,您可以使用上面提到的 New Relic .NET 代理 API 中的 DisableBrowserMonitoring()。这将禁用自动插入特定页面的浏览器监控脚本。目前,这仅支持 Web 应用程序,但我们已经成功地证明这可以与静态页面一起使用。将此调用添加到您不希望使用页面加载计时进行检测的任何页面(有时称为真实用户监控或 RUM)。更多信息、建议以及如何使用此功能的示例请参见:http://docs.newrelic.com/docs/agents/net-agent/features/net-agent-api#disable_browser .

另一个解决方案是使用配置元素的 browserMonitoring 元素子元素。 browserMonitoring 在 .NET 应用程序中配置页面加载计时(有时称为真实用户监控或 RUM)。页面加载时间可让您深入了解最终用户的性能体验。这是通过在每个页面的页眉和页脚中注入(inject)少量 JavaScript 代码来测量用户浏览器下载和呈现网页所需的时间来实现的。更多信息:https://docs.newrelic.com/docs/agents/net-agent/installation-configuration/net-agent-configuration#browsermon-autoInstrument

<browserMonitoring autoInstrument="true">
<attributes enabled=”true”>
    <exclude>myApiKey.*</exclude>
    <include>myApiKey.foo</include>
  </attributes>
 </browserMonitoring>

配置文件方法使您无需更改代码即可进行过滤。但是,如果使用配置选项排除路径,则还必须小心,因为您要在其中放置正则表达式,并且如果它是复杂的(不应该如此),则可能会影响性能和诸如此类的事情那。另一方面,如果您只是使用简单的正则表达式来查找页面,它也相当快。

我认为 API 调用可能会表现更好,但这完全是主观的,我想为您提供这两种选择。

注意,对配置进行任何更改后,您需要以管理员身份执行 iisreset 并运行您的应用一段时间,以查看新版本中反射(reflect)的更改遗迹仪表板。

关于c# - NewRelic 忽略单个页面的监控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26789712/

相关文章:

c# - ComboBox 的水印行为

c# - 如何让SQL代码生成和返回代码

c# - 类似数组的结构

java - 使用 spring-hateoas 使用基于 HAL 的 REST 服务

c# - Web API + jQuery AJAX DELETE 请求返回 404

c# - 在 Web API 中使用 RedirectToAction

c# - 您可以将 LINQ 与内存对象一起使用而不是 SQL Server 查询来提高性能吗?

rest - REST 身份验证具体用在哪里?

python - 如何合并两个包含具有相同签名的方法的Python类?

c# - 在 Web Api 2 中向链接 header 添加分页