NewRelic - 如何忽略Web应用程序的一部分

问题描述 投票:13回答:4

我想告诉NewRelic不要监控我的Web应用程序的子集。例如,我想排除http://mysite/admin/ *,因此NewRelic不会根据我的apdex计算我的应用程序的这部分流量。

类似于在Google Analytics中创建过滤器的方法会很棒。

asp.net newrelic apdex
4个回答
11
投票

您可以通过调用IgnoreApdex中的New Relic .NET agent API将事务排除在计算Apdex之外。在项目中添加对NewRelic.Agent.Api.dll的引用,然后在管理页面常用的代码路径中调用该方法。

您也可以通过调用IgnoreTransaction完全忽略事务(没有Apdex,没有响应时间等)。


6
投票

如果其他人正在寻找相同的东西,我只想添加它。新代理现在允许在配置文件中排除,请从他们的支持中查看以下答案:

第二种侵入性较小的方法是使用“请求路径排除列表”。 newrelic.config中的browserMonitoring-element现在支持(代理版本2.22.79.0)一个名为requestPathsExcluded的可选子元素,如下所示:

<browserMonitoring autoInstrument="true">
   <requestPathsExcluded>
      <path regex="About{1}?" />
      <path regex="mvcForm/Home/{1}?" />
   </requestPathsExcluded>
</browserMonitoring>

每个“path”元素必须包含一个“regex”属性,其值是一个正则表达式,可以由.NET Framework的正则表达式求值程序进行评估。请参阅http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.90).aspx作为参考。


5
投票

有点迟到,但如果你使用的是MVC,你可以把它放到一个动作过滤器中。你仍然需要采取依赖,但它至少会是一个更清晰的调用方式:

public class PreventNewRelic : ActionFilterAttribute
{
    public override void OnActionExecuting(HttpActionContext actionContext)
    {
        NewRelic.Api.Agent.NewRelic.IgnoreTransaction();
        base.OnActionExecuting(actionContext);
    }
}

0
投票

如果您的页面中包含NewRelic javascript,那么您可以直接将其包含在这些管理页面中。

© www.soinside.com 2019 - 2024. All rights reserved.