0

0

龙蜥系统运维联盟:Kindling-OriginX 如何集成 DeepFlow 的数据增强网络故障的解释力

WBOY

WBOY

发布时间:2024-02-22 14:16:10

|

1071人浏览过

|

来源于每日运维

转载

龙蜥系统运维联盟:kindling-originx 如何集成 deepflow 的数据增强网络故障的解释力

编者按:2023年,龙蜥社区正式成立系统运维联盟,该联盟由信通院、阿里云、中兴通讯、复旦大学、清华大学、浙江大学、云观秋毫、乘云数字、云杉网络、浪潮信息、统信软件及联通软件院等 12 家单位共同发起。本文转自云观秋毫,介绍系统运维联盟成员 Kindling-OriginX 通过结合 DeepFlow 完备的网络数据能力,自动化生成可解释的故障根因报告。

DeepFlow是一个开源项目,利用eBPF技术为复杂的云基础设施和云原生应用提供高度可观测性。通过eBPF技术,DeepFlow收集精细的链路追踪数据、网络和应用性能指标,具有全链路覆盖和丰富的TCP性能指标。这些功能为专业用户和网络专家提供了强大的故障诊断和问题定位支持。

Kindling-OriginX 是一款故障根因推导产品,目标是提供给用户一个可解释的故障根因报告,让用户能够直接了解故障根因,并附有根因的推理过程以便验证根因的准确性。网络故障是故障当中比较难以简单解释的,仅仅告知用户哪段网络有问题是不够的,用户需要更多指标以及图解,才能帮助用户更好的理解网络到底发生了什么故障,以及发生在哪个环节。

本文介绍 Kindling-OriginX 通过结合 DeepFlow 完备的网络数据能力,自动化生成可解释的故障根因报告。

soma-chaos 模拟网络故障

  • 针对 seat-service 注入 200ms 延时的网络模拟故障。

  • 接下来我们先使用 DeepFlow 来识别 200ms 的网络故障,并做出相应的 action。

人工最简化排障过程

步骤一:利用 Trace 系统缩小范围

在微服务环境中,当某个接口出现性能问题时,首要步骤是利用追踪系统检查哪个环节导致了慢速度,并了解具体的表现情况。

使用Tracing系统,用户可以准确定位到具体的Trace。经过分析Trace后,发现seat-service的执行时间较长,同时出现了一次长时长的config-service调用。在此情况下,联动网络指标将有助于精确定位网络问题的根源。

步骤二:利用 DeepFlow 火焰图确定故障发生在哪段网络

将故障代表 traceid 的输入 DeepFlow 在火焰图中,找到 Trace 在网络层面上的表现,然后深入分析这个火焰图,如果对火焰图比较了解,同时有具备网络知识的专家经验,是能够根据火焰图人为分析出:这个故障应该是发生在调用者也就是 seat-service 上,而且问题是发生了 syscall 到网卡的时间段,也就是容器网络时段出了问题(和故障注入是吻合的)。

(图/DeepFlow网络火焰图)

步骤三:确定容器网络到底什么网络指标异常

根据故障排查经验,用户需要查看 seat-service 与 config-service 的 pod 的网络指标。这个时候用户需要跳转至 DeepFlow 的 Pod 级别的网络指标页面。通过该页面,用户能够查看出建连有 200ms 的延时突变以及 RTT 指标有突变。

(图/DeepFlow-pod级别监控指标)

(图/DeepFlow-pod级别监控指标)

步骤四:排除可能的干扰因素

根据经验,宿主机的 CPU 被打满和带宽被占满之时,虚拟网络也会出现丢包和时延,所以要排查当时 seat-service 与 config-service 所在 node 的 CPU 以及 node 级别的带宽,确保 Node 级别资源没有饱和。

通过 k8s 命令确认了两个 pod 所在的 node 节点,然后去 DeepFlow 的 node 指标监控页面查看相应指标,发现 node 的 bps、pps 等指标均在合理范围内。

(图/通过k8s命令查找pod所在的节点)

(图/DeepFlow-node级别监控指标(client))

(图/DeepFlow-node级别监控指标(server))

由于node级别的网络指标没有出现明显异常,最终确定是seat-service的pod级别rtt指标异常。

人工排障总结

Vondy
Vondy

下一代AI应用平台,汇集了一流的工具/应用程序

下载

经过一系列的排查过程,最终用户是能够排查出故障的,但是对用户有以下要求:

  • 网络知识非常丰富

  • 深入理解网络火焰图

  • 熟练使用相关工具

Kindling-OriginX 如何结合 DeepFlow 指标,生产可解释的故障报告

Kindling-OriginX 针对不同的用户需求和使用场景,Kindling-OriginX 对 DeepFlow 的数据进行了加工呈现。

类比人工最简化排障过程,利用 Kindling-OriginX 的排障过程如下:

自动化分析每一条Trace

针对此时的故障,自动化分析每条 Trace,并按照故障节点对所列的 Trace 进行归集。Travel-service 是由于级联故障导致的,本文不重点论述级联故障,如果有兴趣可以参考微服务级联故障该如何处理。

Review 故障节点为 seat-service 的故障根报告

故障根因结论:

对于子请求10.244.1.254:50332->10.244.5.79:15679 rtt 指标出现 200ms 左右的延时。

故障的推理验证

由于 Kindling-OriginX 已经识别出是 seat-service 调用 config-service 的网络有问题,所以不用完全把 DeepFlow 的火焰图所有数据呈现给用户,只需要与 DeepFlow 对接,仅仅拿到 seat-service 调用 config-service 那段网络调用的相关数据即可。

利用 DeepFlow 的seat-service 调用 config-service 数据自动分析出了客户端 pod 的容器网络出现了 201ms 的延时。

Kindling-OriginX 会模拟专家分析经验,进一步关联 DeepFlow 的重传指标与RTT指标,从而确定到底是什么原因导致了 seat-service 调用 config-service 出现了延时的现象。

Kindling-OriginX 还会集成node的CPU利用率以及带宽指标,排除干扰因素。

Kindling-OriginX 将整个故障推理都在一页报告中完成,并且每个数据来源都是可信可查的。

总结

Kindling-OriginX 与 DeepFlow 都使用了 eBPF 技术,立求在不同的场景中为不同需求的用户提供灵活高效解决方案,也期待未来能看到国内有更多能力互补产品的出现。

DeepFlow 能提供非常完备的全链路网络基础数据,能够让云原生应用具有深度可观测性,对于排查网络问题非常有用。

Kindling-OriginX 是利用 eBPF 采集排障北极星指标、AI 算法和专家经验构建故障推理引擎,给用户提供可解释的根因报告。

—— 完 ——

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1958

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

658

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2401

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

47

2026.01.19

页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

500

2023.08.14

PHP 命令行脚本与自动化任务开发
PHP 命令行脚本与自动化任务开发

本专题系统讲解 PHP 在命令行环境(CLI)下的开发与应用,内容涵盖 PHP CLI 基础、参数解析、文件与目录操作、日志输出、异常处理,以及与 Linux 定时任务(Cron)的结合使用。通过实战示例,帮助开发者掌握使用 PHP 构建 自动化脚本、批处理工具与后台任务程序 的能力。

67

2025.12.13

Python异步编程与Asyncio高并发应用实践
Python异步编程与Asyncio高并发应用实践

本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

37

2026.03.12

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

136

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

47

2026.03.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
微信小程序开发之API篇
微信小程序开发之API篇

共15课时 | 1.3万人学习

进程与SOCKET
进程与SOCKET

共6课时 | 0.4万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 850人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号