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

时间:2012-02-03 17:53:25

标签: asp.net newrelic apdex

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

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

4 个答案:

答案 0 :(得分:11)

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

您也可以通过调用IgnoreTransaction完全忽略交易(无Apdex,无响应时间等)。

答案 1 :(得分: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作为参考。

答案 2 :(得分:5)

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

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

答案 3 :(得分:0)

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