如何在NewRelic中为不同API端点设置差异化Apdex阈值?
针对不同API端点配置NewRelic Apdex告警的方案
方法一:为单个API事务设置专属Apdex阈值
NewRelic支持为每个独立事务(对应单个API端点)配置自定义Apdex标准,完全隔离两个端点的监控逻辑:
- 进入目标应用的APM服务页面,切换到「Transactions」标签页,找到
GET /user-details和POST /sync-user-with-crm两个事务 - 分别为两个事务设置Apdex阈值:给
GET /user-details设50ms,POST /sync-user-with-crm设2秒 - 创建告警条件时,选择针对
GET /user-details这个单独事务的Apdex指标,当该事务的Apdex值低于预期(对应响应延迟≥100ms的占比过高)时触发告警
方法二:用NRQL查询精准监控目标端点
如果事务级Apdex配置有限制,可以通过NRQL直接过滤目标端点的响应数据,实现精准告警:
- 编写NRQL查询计算
GET /user-details的Apdex值:
或者直接监控该端点响应延迟≥100ms的请求占比:SELECT apdex(duration, 0.05) FROM Transaction WHERE name = 'GET /user-details'SELECT percentage(count(*), WHERE duration >= 0.1) FROM Transaction WHERE name = 'GET /user-details' - 基于上述NRQL查询创建告警规则,当Apdex值低于设定阈值,或慢请求占比超过预设比例时触发告警
这两种方案都能彻底解决两个端点监控逻辑互相干扰的问题,确保GET /user-details的延迟异常被及时捕捉,同时不影响对慢端点的正常监控。
内容的提问来源于stack exchange,提问作者hridayesh
相关产品推荐
相关产品推荐

