Datadog APM 异常检测器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/datadog-apm-anomaly-detector
技能介绍
要解决的问题
APM 指标里最让人头疼的往往不是「慢」,而是「忽然变慢」。平均延迟平稳时,P95 可能已经悄悄翻倍;一次发布之后,某几个 trace 的耗时分布整体右移,但聚合数字还没反应出来。人肉盯仪表盘只能看到已经发生的事故,等告警触发时业务早就受影响了。
更麻烦的是,这类异常经常被正常流量噪声盖住:高峰时段本来就慢,低峰时段本来就快,如果只用固定阈值,要么满屏误报,要么该响的时候不响。我们需要一种能描述「延迟分布本身变了」的检测方式。
工作原理
这个技能面向 Datadog APM traces,通过 Datadog API v2 的 metrics 端点拉取延迟数据,然后在延迟分布上做 DBSCAN 聚类:
- 把观测窗口内的延迟样本看作空间中的点,由密度相连的核心点构成主要簇;
- 密度明显偏低、游离在主簇之外的点被识别为异常;
- 相比均值加标准差这类假设分布的统计方法,基于密度的做法不要求先验分布形态,对偏态、多峰的延迟数据更鲁棒。
核心能力可以拆成三步:采集(从 APM traces 聚合出延迟指标)、建模(在延迟分布上跑 DBSCAN)、判定(主簇之外的样本即异常服务行为)。这样定位的是「行为模式偏离」,而不是单点数值超标。
适用边界
- 需要 Datadog APM 数据和对应 metrics 端点的访问权限,适合已经接入 dd-trace 的 Node.js 服务;
- 聚类效果依赖观测窗口和密度参数,窗口太短噪声大,太长则掩盖渐变;
- 它回答的是「分布是否异常」,异常的业务根因仍要回到 trace 链路里人工排查;
- 低流量服务样本稀疏,密度判定可能不稳定,建议配合流量上下文一起看。
使用场景
- 夜间值班时监控核心服务延迟,需要快速识别分布漂移而非单点超标的异常
- 发布新版本后,想对比前后两天 trace 延迟分布,确认是否有隐性性能退化
- 排查偶发毛刺问题,需要过滤正常波动噪声,定位真正的密度异常样本
- 为告警系统补充分布检测维度,避免固定阈值在高峰期频繁误报
适合人员
- 负责核心链路稳定性的 SRE,需要在故障发生前发现延迟分布的细微变化
- 接入 dd-trace 的后端工程师,想为 Node.js 服务补充智能异常检测能力
- 负责告警治理的平台工程师,希望降低误报率并增加分布层面的判断依据
- 进行性能审计的架构师,需要对多服务 trace 的延迟分布做量化对比