You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将特定端点从New Relic告警策略中排除

实现指定端点排除New Relic告警的三种可行方案

方案1:Java Agent层面忽略指定事务上报

适合不需要保留这些端点监控数据的场景,对应你查询到的Ruby Agent忽略事务的Java版本实现:

  • 单个端点忽略:在对应Controller的目标方法上添加New Relic官方注解@Trace(dispatcher = true, ignoreTransaction = true, ignoreApdex = true),需先引入New Relic API依赖:
<dependency>
    <groupId>com.newrelic.agent.java</groupId>
    <artifactId>newrelic-api</artifactId>
    <version>与你使用的New Relic Agent版本一致</version>
    <scope>provided</scope>
</dependency>
  • 批量端点忽略:实现Spring MVC拦截器,匹配到要排除的CronJob端点路径时,调用NewRelic.ignoreTransaction()方法,当前请求的所有统计数据不会上报到New Relic,自然不会触发告警。

方案2:修改告警NRQL规则过滤端点

适合需要保留端点监控数据,仅需排除告警触发的场景:
你当前的告警策略都是基于NRQL查询做阈值判断,只需在原有查询的WHERE条件中追加端点过滤规则即可,示例:

-- 原有Web响应时间告警查询
SELECT average(duration) FROM Transaction WHERE appName = '你的Spring Boot应用名' AND transactionType = 'Web'
-- 追加排除规则,替换为你实际的端点事务名
AND name NOT IN ('WebTransaction/SpringController/GET /api/cron/task1', 'WebTransaction/SpringController/POST /api/cron/task2')

事务的完整name值可以直接从New Relic控制台的事务详情页复制,确保匹配准确。

方案3:自定义标签动态过滤

适合需要排除的端点较多、变动频繁的场景:

  1. 实现Spring拦截器,判断如果是Kubernetes CronJob触发的请求(可通过请求头、来源IP、固定参数等标识判断),调用NewRelic.addCustomParameter("excludeFromAlert", true)给事务打自定义标签
  2. 所有告警规则的NRQL查询中追加AND custom.excludeFromAlert IS NOT true即可,后续新增需要排除的端点不需要修改告警规则,只需满足拦截器的CronJob判断条件即可自动过滤。

注意事项

  • 方案1会彻底丢弃被排除端点的监控数据,如需排查这些端点的问题时无法查询历史数据,优先选方案2或3
  • 后台任务类型的事务transactionType为Other,修改对应告警规则时注意事务类型匹配

内容的提问来源于stack exchange,提问作者hakansander

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 07:36:04