Skip to main content

使用手册

Last updated on

产品概述

Kindling-OriginX 基于 eBPF 来捕获程序在线程级别运行时的关键信息,创新地再现了每次系统调用的执行过程。将 Tracing、Log 和 Metric 相结合,通过AI计算和专家经验,在1分钟内帮助用户准确地推断出异常的根本原因。 基于此,Kindling-OriginX 能够帮助用户实现“1-5-10”(1分钟发现-5分钟响应-10分钟恢复),轻松达到 SLO 目标。

Kindling-OriginX 中采用对 Tracing 数据逐条自动化分析的策略,针对每一条 Tracing 数据生成独立的故障根因报告,明确指出可能的异常节点。而为了将大量的故障报告整合和收敛,Kindling-OriginX 以异常节点根因占比饼状图和故障根因报告聚合的方式,使用户能够更清晰地了解不同根因的分布情况,在洞察细节的同时又能够纵览全局

Kindling-OriginX 的使用

当故障发生之后,通过 Kindling-OriginX 可以看到 SLO 违约的情况。 在 Grafana 中可以在 Kindling App 中的「SLO实时异常检测」Tab 中看到以服务入口进行分类的近30分钟实时 SLO 违约检测情况列表,见「图1:SLO 实时异常检测」。 在 「SLO近48小时异常检测」中可以对最近48小时内的异常情况进行回溯和总览,见「图2:SLO 近48小时异常检测」。 图1:SLO 实时异常检测 图2:SLO 近48小时异常检测

Kindling-OriginX 排障处置流程

SLO 发生违约

  1. 查看违约情况

当发生 SLO 违约时,在对应服务入口的 Timeline 中点击选择对应的违约时段,此时可以在「异常诊断」下看到该违约的具体情况,包括发生违约的具体时间段、请求成功率与 SLO 的可用性目标、违约时段 P90 数值与 SLO 延迟性目标。在「异常根节点占比」下可以看到该违约中异常根节点占比具体情况。在「图3:SLO 违约检测」中该次违约中 SLO 延迟性目标是 1200ms,违约时段 P90 为 1960ms,超过目标值,发生违约,同时定位到异常根节点占比最大的为「ts-route-service」节点。 图3:SLO 违约检测

  1. 查看诊断报告

针对该 SLO 违约,点击诊断后可进入该次违约对应的诊断报告列表页,列表中的内容为 Kindling-OriginX 针对本地违约所生成的全部诊断报告,见「图4:诊断报告列表」。其中包括该报告对应的TraceID、耗时、请求时间、故障服务名、入口服务等信息。 图4:诊断报告列表

  1. 查看故障根因分析

选择故障报告查看报告详情,这里以第一条报告为例。在「图5:诊断报告详情」中从上至下,从左到右,三个面板主要为:故障根因推导基本信息、调用链路根因分析、故障节点根因分析及推导详情。其中在报告基本信息中可以看到本次调用的基本情况与本次调用时长和P90的对比情况;在调用链路根因分析中可以看到本次调用链路情况,每个节点的调用耗时详情;在故障节点根因分析及推导详情中可以直接得到本次故障的根因,以图为例,该示例的根因为「Runq耗时高,存在CPU抢占」,即说明该 SLO 违约是由于 CPU 资源不足导致,应当考虑调整资源分配或增加资源。下方是针对该推导结论的论证数据,包括排障北极星指标、runq等具体指标数据情况。关于排障北极星指标与runq等内容可参考什么是北极星排障指标体系? 图5:诊断报告详情

进行排障处理

完成故障定位及确定故障根因后,即可根据所在组织处理流程,进行排障工作。例如该示例中确认该违约的根因为 CPU 发生抢占,即资源不足,那么根据组织实际情况就决策即可,例如调整资源分配或增加资源。

复盘回溯

Kindling-OriginX 提供详细的故障根因分析与推导过程,并且已自动关联相关的监控与各类指标数据,这些都能够帮助使用者在复盘阶段进行更完整的总结与分析,彻底解决隐患预防类似故障再次发生。可以通过:

  • 完整的故障根因分析推导报告,进行完整的故障现场还原。
  • Trace List会智能化筛选出有代表性的故障请求,其中包括 Slow 与 Error 两类,能够方便进行阶段性总结与系统优化。

图6:Trace List 同理,在列表中选择任意一个代表性故障请求,Kindling-OriginX 都会呈现对应的故障根因报告。

Kindling-OriginX 故障判定原理简介

故障判定

根据将请求调用时长与历史 P90 数据相对比,发现其远大于历史 P90 数据,将其判定为慢故障。 图7:故障根因推导基本信息

故障节点判定

在判定有慢故障的情况下,通过对调用链路的分析后,裁剪旁支,聚焦故障传播主链路,最终定位故障节点。 图8:故障调用链路分析

故障根因结论

故障根因节点之所以产生故障的原因可以从故障根因结论中找到 图9:故障根因结论

故障根因推导过程

如果需要理解完整的故障根因推导过程,可以从故障节点分析中以及后续的推论中找到故障根因推导的完整过程以及佐证数据。 Kindling-OriginX 会根据专家经验,智能化采集针对此次故障的指标和日志,将其关联分析。 在使用 Kindling-OriginX 如需要更详细的指标进行分析和探索或对数据存有疑虑,可点击 cpu、net、runq 等分类指标,跳转至 Grafana 对应的 Dashboard 页面查看对应指标的详细数据,同时用户也可以在 Granfana 中建立新的数据源关联其他指标 Dashboard。 图10:故障根因推导过程(部分)