聊点技术AI赋能:根因定位如何深入到SQL级别算法调用遍历sql拓扑图ai赋能

在当今数字化时代,企业对IT系统的依赖日益加深,系统故障的影响也愈发严重。因此,快速准确地定位故障根因成为了IT运维领域的重要课题。传统的故障排查方法往往只能触及表面,无法深入到最核心的SQL级别,方法级别或错误级别的具体执行层面。人工智能(AI)技术的发展为故障根因定位带来了新的机遇。本文将重点介绍如何利用AI技术进行故障根因分析,并达到SQL级别,方法级别,错误类型级的定位精度。

1.用业务入口的关键指标来确定真正的故障

在故障根因分析的过程中,首先需要准确地识别出真正的故障。这需要建立一个非常明确的故障定义,以便在复杂的系统环境中区分真正的故障与正常的系统波动或误报。基于以往的多种排障经验和云原生架构的部署经验,我们引入了“业务入口”的概念,并将真正的故障与业务入口的多个关键指标关联起来。

2.在调用链知识图谱上做“合纵连横”分析

使用AI算法确定某个系统发生故障后,就需要针对该故障进行根因定位分析,试图快速精准地定位到引发该故障的根本原因。

知识图谱是一种结构化的语义知识库,用图形的方式表达实体之间的关系。在故障根因分析中,我们将调用节点抽取为知识图谱的节点,将调用链的关系抽取为知识图谱的边。如下图所示:在进行实体识别时,每个调用节点都可以视为一个实体,例如一个页面,页面上的某个操作,一个网络请求,一个服务,一个接口或一个数据库等等,这些实体在知识图谱中作为节点表示。而调用链中的关系,如服务A调用服务B,在知识图谱中表示为从节点A到节点B的边,接口1属于服务A,则在知识图谱上表现为服务A包含接口1.

在知识图谱构建完成后,就可以基于该图谱“按图索骥”地进行根因分析。在进行知识图谱的根因定位算法选型上,考虑到故障数据难以获取,人工打标难度较大等原因,我们采用了无监督知识图谱结合“合纵连横”的技术方案。

在定位最可能的根因时,遵循“先横后纵,横纵结合”的原则,先在横向调用关系上采用深度(或广度)优先遍历算法,从源头开始逐级下钻,逐级判断每个实体点是否发生了错误或缓慢,直到链路的最终节点。然后再使用告警数据,提取出告警发生的实体对象,使用知识图谱中的最短路径算法,查找到告警实体对象与前面最终节点之间的最短路径,最后将横向遍历得到的路径和纵向的最短路径结合起来,绘制成最终根因分析拓扑图。

下图是横向定位时使用深度优先遍历算法得到最深层次的根因实体点。

在纵向定位上,我们使用知识图谱的最短路径算法,该算法在实现上有多种,其中最著名的是Dijkstra算法和Floyd-Warshall算法。

下图是纵向定位时使用知识图谱的最短路径算法进一步下钻查找根因。Dijkstra算法是一种贪心算法,用于在加权图中找到单源最短路径。它适用于有向图和无向图。其基本原理是,首先进行初始化,选择一个起始节点(源节点)并设置其距离为0,其他所有节点的距离设置为无穷大。然后创建一个优先队列(通常使用最小堆实现),将所有节点按照距离排序。当优先队列非空时,取出距离最小的节点,并对其每个邻接节点进行松弛操作(更新更短的路径)。重复上面的步骤,直到到达目标节点或优先队列为空。

Floyd-Warshall算法是一种动态规划算法,用于在加权图中找到所有节点对之间的最短路径。其基本原理是,首先初始化一个二维数组,表示图中所有节点对之间的直接距离。然后对于图中的每个节点,检查通过该节点作为中间节点是否会缩短其他节点对之间的距离。然后更新数组中的距离值,直到所有节点对的最短路径都被找到。

如下是基于“先横后纵,横纵结合”的原则,得到的真实场景下的根因定位拓扑图。

在下面的真实根因定位拓扑图中,首先,我们将某页面的某个操作当作业务入口,使用AI多指标异常检测算法实时分析该操作是否发生缓慢或错误的故障,如下图,当该业务入口的操作发生缓慢/错误故障时,我们根据调用链知识图谱可以得到:该操作属于某个页面,且该页面属于某个终端应用,故而在拓扑图上可以补充从终端应用到操作的节点和边。然后在横向调用关系上采用深度/广度优先遍历算法,查找到该操作包含有某个网络请求,且该网络请求调用了A服务的接口a,同时该接口a又调用了B服务的接口b,如此不断下钻,最终找到最深层次的实体点是D服务的接口d。如此便完成了横向上的根因下钻分析。

然后开始进行纵向上的分析,当有某个主机或网卡发生告警时,我们会抽取出该告警的实体对象,使用知识图谱的最短路径算法,查找从该D服务实体点到主机或网卡实体点的最短路径,如果找到,则将其路径补充到下方的知识图谱中。如此便完成了纵向分析,在最终结果上进行横纵向融合,最终得到如下根因定位拓扑图,且显示出最终根因节点是最下方的网卡。

对于AI算法而言,不管是传统机器学习算法,深度学习算法,还是最近火遍全球的ChatGPT类AI大模型,数据的准确性和全面性一直是至关重要的,所以在AI算法圈里有一句家喻户晓的名言:GarbageIn,GarbageOut,简称GIGO,即"垃圾进,垃圾出"。同样的,对故障的根因分析而言,调用链数据,告警数据的全面性和准确性也至关重要,只有首先确保了底层数据的精准性,然后才能确保上层AI应用的精准性。

得益于博睿数据在APM领域,RUM领域和智能告警领域长达十几年的经验积累,我们的调用链数据,告警数据在采集全面性,精准性,时效性方面,在全国来说都是屈指可数的,故而站在如此精准全面的底层数据的“巨人”肩膀上,AI算法才能在故障根因分析方面做到更加精准。

3.深度分析--深入到SQL级别的根因定位

前面的“合纵连横”分析可以认为是初步分析,可以得到引起该入口业务发生异常的根因实体点,但有了实体点就代表找到了真正的根因吗?

根据我们在运维领域的实际排障经验,根因定位要做到可以直接给出具有可操作性价值的信息才有意义。比如某个页面的某个操作发生了缓慢的故障,我们初步分析得到是因为某个关系型数据库缓慢导致的。这样看并没有错,但是不够具体,定位的根因粒度还不够,运维人员只知道数据库缓慢并不能明确知道要操作什么才能恢复。

通过对以上排障场景的思考,我们提出了“初步分析”+“深度分析”的二级火箭思路,即在初步分析得到具体根因实体点的基础上,还要继续往下挖掘出更细粒度的原因,这样才能让运维人员更明确的知道后续操作的内容。

下图展示了初步分析得到的根因实体类型和深度分析给出的最细粒度根因的对应关系。

如下是真实场景下,多个服务的多个接口都出现了缓慢的异常故障,经过初步分析后,发现是底层的调用数据Redis出现异常,然后通过深度分析,给出了调用最慢的几个Redis命令(相当于SQL)。

4.具体案例展示

案例1:多个服务的多个接口缓慢,最终定位到根因是几个不合理的SQL

针对该故障场景的复盘:在某一个时刻,多个上游服务的多个接口耗时非常长,服务响应太慢,首先通过我们AI的初因分析,算法自动发现哪几个服务的哪几个接口耗时太长,进而下钻分析这些接口调用下游其他哪些服务的哪些接口,通过不断下钻,最终发现是某调用数据库存在响应太慢的情况。

故而,通过上述第一级AI初因分析,得到了故障节点是该调用数据库。但为什么该数据库响应慢了?

案例2:一个服务下的多个接口缓慢,最终定位到根因是某个方法运行缓慢

针对该故障场景的复盘:某个服务下多个接口都出现缓慢的情况,通过初步分析,发现是该服务下的某个服务实例出现异常。继续通过深度分析,定位到是该服务实例下运行的某个方法太慢导致。如下图所示,该方法的执行耗时达到了29s,严重拖累了整个服务下的多个接口的响应速度。

案例3:某个服务的接口报错,最终定位到根因是下游接口发生了多次HTTPERROR和Exception

针对该故障场景的复盘:某个服务的接口报错次数太多,错误率太高,通过初步分析,发现该接口调用了下游接口,下游接口接连报错导致该接口报错。故而初步分析定位到下游服务的下游接口。然后针对该接口进行深度分析,最终定位到该接口产生了大量的HTTPERROR和Exception导致了一系列问题,而且界面上还给出了每一种错误的调用服务名称,错误次数,错误占比,错误类型,以及对应的日志和调用链数据。方便用户进一步查看分析引起该故障的整个传播链路。

2024年秋季,博睿数据重磅发布了一体化智能可观测平台BonreeONE3.0,BonreeONE3.0凭借其在数据采集、数据模型、数据中台及数据分析等方面的全面升级,再次引领了市场对可观测性的需求。BonreeONE3.0通过领先的全域可观测数据模型,实现了更全面的数据采集和更智能的数据分析,帮助企业轻松应对复杂的IT运维挑战,将运维效率提升至全新高度。

THE END
1.数据可视化李伊答案mob649e8169b366的技术博客在当今信息爆炸的时代,如何有效理解与传递数据变得尤为重要。数据可视化作为一种将复杂数据以视觉形式呈现的技术,却能让我们直观地理解潜在信息。本文将探讨数据可视化的基本概念、重要性与应用,并通过示例代码及流程图来进行说明。 什么是数据可视化 数据可视化是将数据转化为图形、图表或其他可视形式的过程,目的是帮助我https://blog.51cto.com/u_16175521/12752242
2.人工智能试题及答案经管文库(原现金交易版我旳答案:C √答对我旳答案:D √答对我旳答案:C √答对我旳答案:B √答对我旳答案:B √答对https://bbs.pinggu.org/thread-13037825-1-1.html
3.行动(Action)是指基于环境和规划做出的动作行动算法的核心是将环境感知信息转化为有效的行动指令。常用的算法包括: 基于规则的系统:使用预先定义的规则和条件来决定行动。 基于模型的系统:建立环境模型,并通过模拟和预测来规划行动。 强化学习:通过与环境交互,学习最优行动策略。 3.2 算法步骤详解 https://blog.csdn.net/2301_76268839/article/details/144164049
4.科学网—人工智能如何赋能中国发展从“计算”和“算计”到“逻辑”和“直觉”,再到“态势感知”和“势态知感”,这些概念也呈现出类似的对比关系。态势感知可以看作是一种计算型、逻辑型的思维过程,强调对局势的客观分析、信息整合与数据推演,适用于较为理性和明确的决策情境。势态知感则更倾向于依赖直觉型的感知和判断,是对情境的整体感受、情绪和https://wap.sciencenet.cn/home.php?mod=space&uid=40841&do=blog&id=1462990
5.搜索引擎以图搜图功能的实现原理搜索引擎提供的以图搜图(image-based search)的技术原理,这是一个涉及计算机视觉、机器学习、大规模数据存储与检索,以及高级索引方法等多个技术领域的复杂系统。我要带你逐步理解这些原理及其背后的机制,同时结合具体的案例,帮助更好地理解这些技术的应用。 https://www.jianshu.com/p/682c5f1717d4
6.人工智能专业技术人员职业资格考试下列哪项技术常用于处理数据中的缺失值? A.数据归一化 B.数据标准化 C.数据插值(正确答案) D.数据降维 在人工智能项目中,哪一项是确保模型泛化能力的重要步骤? A.数据清洗 B.特征选择 C.交叉验证(正确答案) D.超参数调优 下列哪项不是人工智能在医疗领域的应用? A.疾病诊断辅助 B.药物研发加速 C.天气预报https://wenku.baidu.com/view/853cbe4e0142a8956bec0975f46527d3240ca698.html
7.YouTubeSEO:视频排名从入门到精通如果你遇到了问题,可以尝试从 Google 图片或者素材图片中寻找灵感。在 Adobe 素材库中搜索“system”(系统),你将会看到以下图片。 我们的链接建设系统视频的缩略图使用了类似的方案(但是酷多了)。 撰写可搜索的描述(信息) YouTube表示使用“正确的”关键词可以增加播放量和观看时间,因为他们可以帮助你的视频出现在相https://ahrefs.com/blog/zh/youtube-seo/
8.信息技术2.0培训校本研修心得体会(精选31篇)通过试点学校的案例分享、现场观摩,我对如何推进我校信息技术应用能力提升工程2.0工作,有了明确的思路和方向。我觉得要做好全员参与、整校推进,必须做好以下几个方面: 一、基于校情制定整校推进计划 首先要仔细研判学校、教师、学生现状,在此基础上,学校根据实际制定《提升工程实施规划》,在《规划》中明确学校的发展https://www.ruiwen.com/xindetihui/5180920.html
9.网络层(二)动态主机配置协议DHCP是应用层协议,使用客户/服务器方式,客户端和服务端通过广播方式进行交互,基于UDP,DHCP提供即插即用联网的机制,主机可以从服务器动态获取P地址、子网掩码、默认网关、DNS服务器名称与IP地址,允许地址重用,支持移动用户加入网络,支持在用地址续租。 https://developer.aliyun.com/article/1109722
10.枣庄市课程纲要编写指导意见义务教育段信息技术、劳动、综合实践活动………87 中小学课程纲要编制意见 一、明确学科课程纲要的内涵和意义 课程纲要是学科教师依据学科课程标准、教材、校情、学情编制的、体现学科各种课程元素的计划大纲,是一种规定时间内的课程计划。编制课程纲要,就是对一个学期或一个模块、一个单元所要实施的教学进行整体设计http://tzsxzx.tzjtzy.cn/index.php?r=space/school/portal/content/view&id=419895
11.会计信息系统原理与应用基于用友新道U8V15.0版教学大纲及会计信息系统原理与应用 基于用友新道U8 V15.0版 教学大纲 及 习题答案(毛华扬 ).docx,会计信息系统原理与应用 基于用友新道U8+V15.0版(第2版) 教学大纲 开课单位(系、教研室、实验室):XXXXXX系 学分:2总学时:48H(理论教学XX学时,实践教学XX学时) 课程类别https://max.book118.com/html/2022/0628/7024112121004135.shtm
12.教育科研知识与方法——开题论证3、 在教学实践中探明因特网支持下小学生在科学探究过程中进行信息的搜集整理、问题发现与提出的活动规律; 4、 初步尝试在因特网支持下小学生技术设计的教学活动; 5、 深入研究主题学习网站对科学探究学习的支持作用。 主要研究内容: 1、 基于因特网环境下小学科学探究学习活动的类型与设计 https://www.age06.com/Age06Web3/Home/MobileImgDetail?Id=b26d3753-fbe2-4dd2-af9f-904c4ef73462
13.理工光科:首次公开发行股票并在创业板上市招股说明书山、陈宏波、印新达和林海承诺:自公司股票上市 之日起 12 个月内,不转让或者委托他人管理所持 有的公司股份,也不由公司回购所持有的公司股票 上市前已发行的股份。 股份锁定期限届满后两年内,若减持公司上市 时所持有的公司股份,减持价格不低于发行价;公 司上市后 6 个月内如公司股票连续 20 个交易日的 收盘https://stock.stockstar.com/notice/JC2016101900000004_53.shtml