自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 eBPF助力:10分钟学会快速调优线上服务器CPU利用率

一位不愿透露姓名的开发同学大言不惭的说:“我只要10分钟就能快速调优生产环境机器的CPU利用率”

2023-02-09 10:13:58 437

原创 生产环境网络问题引起的接口响应时间过慢,万精油排查方法案例分享

接口响应时间过慢?开发说代码没问题,运维说资源一切正常,见鬼了?

2023-02-07 15:53:41 448

原创 开发小白的高光逆袭:竟然能一眼断定生产环境接口响应时间慢是磁盘性能问题引起的

就像犯罪现场的监控视频能让警察一眼看到真正的凶手是谁一样,有一个机智的开发同学借助Kindling程序摄像头精准还原接口执行现场的能力,一眼定位根因。

2023-02-01 15:29:30 279

原创 生产环境10分钟黄金时间快速排障:CPU不定时飙高怎么排查?

1分钟发现-5分钟响应-10分钟恢复,是定义故障处理的时效性目标。在阿里巴巴内部经过多年的实践,这也早已成为各个业务稳定性、基础设施稳定性以及大促保障的重要牵引指标。对于故障,最难的往往不是排查解决,而是保证上述1-5-10时效性。程序摄像头Trace Profiling直击排障痛点,期望帮助用户在分钟级以标准化步骤定位全资源种类的故障根因

2023-01-30 09:30:36 417

原创 90%开发都会忽略的性能调优点:针对返回大数据量的接口,10分钟内找到提升带宽瓶颈的突破口

我们可能从来没有注意到一个事情:在实际生产环境访问大数据量的接口时,我们自然而然地认为响应速度相对慢些是正常的,但真的完全是因为返回报文太大的缘故吗?现在的带宽大都是百兆,服务器之间的带宽更是上千兆,而往往查询十几M的数据也要几秒钟,这里面还有没有可调优的缺口?我们突然意识到,如果能排查出该慢请求背后的根因,找到调优方法,这可能会对众多开发者提升生产环境接口的性能产生很大的价值和参考意义。

2023-01-18 17:58:38 579

原创 程序摄像头Trace Profiling:生产环境10分钟黄金时间快速排障手册

程序摄像头Trace Profiling能够覆盖CPU、内存、网络、存储等当前常见的资源维度,未来也许我们也可以去支持GPU的资源维度。业内的排障目标是1分钟发现,5分钟响应,10分钟解决问题,而通过使用程序摄像头,按标准化步骤,我们期望辅助开发和运维能在10分钟黄金时间内解决问题。2.2 程序摄像头Trace Profiling的排障效率:1-5-10分钟级定位。2.3 程序摄像头Trace Profiling的排障目标:定位全资源种类故障根因。

2023-01-09 17:12:43 193

原创 一名曾因线上P0故障导致月工资扣了10%的码农心得:如何在故障10分钟黄金时间快速排障

作者曾因一次愚蠢的操作引发了线上P0故障,导致月工资扣了10%,年底绩效-1,连带上级leader也被扣钱,全公司邮件通报批评,大型社死现场。作者想通过自己这次悲催的经历,告诉普通开发同学如何实现在10分钟黄金时间内快速排障

2022-12-14 17:53:01 268

原创 可观测性项目对 uprobe 的需求理解与实现

uprobe是一种用户空间探针,uprobe探针允许在用户空间程序中动态插桩,插桩位置包括:函数入口、特定偏移处,以及函数返回处。当我们定义uprobe时,内核会在附加的指令上创建快速断点指令(x86机器上为int3指令),当程序执行到该指令时,内核将触发事件,程序陷入到内核态,并以回调函数的方式调用探针函数,执行完探针函数再返回到用户态继续执行后序的指令。

2022-12-06 10:14:57 671

原创 关于程序摄像头Trace Profiling的十大热门问题

很多同学对程序摄像头Trace Profiling这个“不明觉厉”的工具有很多问题,小编特意邀请了我们eBPF可观测项目kindling的创始人——苌程老师为大家解答

2022-11-29 17:40:01 292

原创 眼见为实:关于微服务熔断这几个知识点,你可能理解错了

可视化微服务熔断实验,当在应用A某接口上加了熔断器:1. 熔断超时时间指的是接口的执行时间,还是仅接口调用下游服务的时间?2. A接口超时、和抛Exception这两种场景都会触发降级熔断,底层逻辑有什么不同?看似同步的请求竟然是通过异步线程实现的?3. 当A的熔断器触发开启,它是否还能成功调用下游服务?总不能让用户一直失败吧?

2022-11-22 17:07:56 230

原创 eBPF程序摄像头——力争解决可观测性领域未来最有价值且最有挑战的难题

eBPF程序摄像头期望帮你定位Trace追踪工具无法排查的问题;生产环境无法复现的问题;需要打日志紧急发布的问题;系统内核无法观测的问题......

2022-11-15 16:12:58 322

原创 ForkJoin的“分而治之”竟然有隐藏的坑?

子任务的计算量拆分到多少才算合理吗?为什么你用了ForkJoin反而降低性能?大量线程并行,如何规避线程阻塞?虽知“先fork再join”,但谁负责join?有什么坑需要注意?ForkJoinPool的invoke和submit启动方式竟然还有隐藏的坑你知道吗?

2022-11-10 14:02:14 1587

原创 眼见为实:被误导的Tomcat工作原理

眼见为实:用页面可视化的方式带你看到Tomcat工作原理,它里面有哪些线程,在每次请求过来的时候做了什么工作?纠正部分网友对于Tomcat工作原理理解的误区,明确Tomcat里到底是哪个线程在做socket读写?

2022-10-31 17:08:12 128

原创 基于eBPF的云原生可观测性开源项目Kindling之慢系统调用

Kindling通过eBPF技术和内核提供的系统调用tracepoint捕获了所有的系统调用数据,然后把系统调用与线程信息做了关联,并在用户空间对系统调用的enter和exit进行了latency的计算以判断是否为慢系统调用。...

2022-08-03 14:25:32 184

原创 基于eBPF的云原生可观测性开源项目Kindling之网络详情面板

本文主要介绍Kindling网络详情面板

2022-07-04 16:41:43 419

原创 基于eBPF的开源工具Kindling之page-fault事件可观测性实现机制

在Linux内核中,每一个进程都有一个独立的虚拟地址空间,而进程本身感知不到真正的物理内存的存在(比如某进程感知到的内存是连续的,但是实际上它被分配的内存是物理内存中分散的空间)。MMU(内存管理单元)负责完成对于这种虚拟地址-物理内存地址的转换工作。Linux为每一个进程维护了一张页表,用于记录虚拟地址和物理内存地址之间的关系,并在进程运行时实时进行地址转换从而使得进程访问到真正的物理内存。...

2022-06-17 13:40:07 399

原创 Kindling协议开发流程 - Dubbo2 协议开发流程

本文主要介绍开源项目Kindling的协议开发流程,并以dubbo2协议为例进行说明。

2022-06-09 10:08:13 137

原创 Kindling参加首届CCF GitLink开源编程夏令营啦~快来报名吧

Kindling社区参加首届CCF GitLink 编程夏令营,目前报名正在火热进行中,欢迎学生们报名,有丰厚奖金等你来拿哦!

2022-06-01 09:12:44 211

原创 各路大咖云集探讨eBPF技术在可观测性领域的落地现状和未来可能

在本周进行的Kindling研讨会上,Kindling团队的小伙伴给大家分享了多语言微服务环境下的监控问题以及解决对策,并对相关指标进行了解读。本次研讨会也云集了云可观测领域的各路大神:观测云的CEO蒋总、云杉的向阳总以及其他可观测领域的大佬。在后面的交流环节,就当前用户在使用Kindling过程中存在的一些问题,Kindling团队的小伙伴做了回答。如有用户问:Kindling如何解决内存占用的问题?答:目前引起内存占用的原因包括URL发散、慢trace、系统调用的事件源多等,解决方案是尽量减少事件源的数

2022-05-27 10:58:27 301

原创 基于eBPF的云原生可观测性开源项目Kindling之eBPF基础设施库技术选型

eBPF技术正以令人难以置信的速度发展,作为一项新兴技术,它具备改变容器网络、安全、可观测性生态的潜力。eBPF作为更加现代化的内核技术,相较于内核模块,它的编写难度已经有了较大的降低,但是不可否认对于普通开发者还是有一定门槛。因此,很多云原生软件会在eBPF系统调用(函数)和libbpf之上封装一层更加简单易用的api,比如falco的libs、bcc的libbcc、cilium的cilium-ebpf。笔者将这些依赖库称之为eBPF的基础设施。Kindling专注于云可观测性领域,致力于排查各种复杂故障

2022-05-25 13:50:00 471

原创 基于eBPF的云原生可观测性开源项目Kindling之容器网络定界

背景随着kubernetes逐渐成为应用部署的事实标准,开发运维人员可以更便捷的部署、拓展应用程序,同时也带来了一系列的云上疑难杂症,其中最让人头疼的莫过于网络问题。本文将尝试探索容器网络的定界问题。

2022-05-20 15:02:02 778

原创 基于eBPF的云原生可观测性开源项目Kindling之容器环境下的DNS问题排查

问题描述最近在协助用户做业务的容器化迁移时,对业务做压力测试,发现ui服务的/homepage接口出现了偶发性的响应请求超时。给大家分享下排查问题过程。问题定位先通过skywalking看看相关ui的/homepagetrace,通过下图可以看到总耗时超过5828ms。发现延时出现在ui/homepage的self上,共耗时4005ms。其他依赖调用的时间只用了1823ms。可以确认从ui/homepage调用app/homepage的请求发生到请求数据传输完成耗时太多。现在没有更好的方

2022-05-17 15:43:21 348

原创 基于eBPF的云原生可观测性开源工具Kindling之Kindling-agent 性能测试评估

背景Kindling-agent是基于eBPF的云原生可观测性开源工具Kindling中采集端的组件,能够通过采集和分析内核事件,获取运行于同一宿主机上的其他服务的业务、网络等指标。其工作模式是在主机上以独立进程的方式收集所需数据,所以只需要我们在应用所在主机部署Kindling-agent即可启动相应能力,随后可以通过prometheus和grafana套件对不同机器上探针采集的数据进行整合分析和查看,当然也可以用其他工具获取数据并进行分析展示。尽管Kindling-agent基于eBPF的方式进行的

2022-05-13 14:49:00 559 1

原创 基于eBPF的开源项目

引言真正意义上的eBPF技术虽然诞生还不到十年时间(2014年首次提出eBPF概念),但已经发展成为当下炙手可热的技术。去年8月,由微软、谷歌、Facebook(已更名为meta) 等公司联合成立了eBPF基金会,大力发展eBPF技术。最近几年,eBPF技术在国内也得到了广泛应用,很多大厂也开始关注并采用eBPF技术。eBPF简介eBPF是extended BPF的缩写,而BPF是Berkeley Packet Filter的缩写。对linux网络比较熟悉的小伙伴对BPF应该比较了解,它通过特定的语法

2022-04-29 14:12:26 909

原创 基于eBPF技术的开源项目Kindling之HTTP协议解析

Kindling是一款基于eBPF技术的云原生可观测性开源项目。本文将主要介绍如何通过Kindling对HTTP协议进行解析。

2022-04-26 16:21:37 726

原创 基于eBPF技术的开源项目Kindling之探针架构介绍

Kindling开源项目是一款基于eBPF技术的云原生可观测性项目。本文将主要介绍Kindling探针的具体架构设计。

2022-04-21 17:30:57 964

转载 安装云原生可观测性开源工具Kindling体验

小白安装云原生可观测性开源工具Kindling体验本人是本科毕业ing的准研究生,未来实验室是做云边协同研究的。保研后联系了我导,我导让我先钻研钻研eBPF,可以用在云原生可观测领域。于是看到了这个开源项目kindling,并上手尝试了一番。由于这是第一次接触云原生概念、可观测工具,在安装时遇到过一些问题。写下这篇踩坑集合希望对大家上手kindling有帮助~问题一第一次看installation的时候,第一句告诉我有些ebpf相关的内核配置要打开。我当时在网上找了很久没有找到修改内核配置的方法,

2022-04-20 11:27:22 667

原创 太空舱项目--云原生故障模拟器

看到这个名字,大家是不是立马想到“天宫”空间站,还有在天上遨游的三位航天员。当然,我们的“太空舱”并不是指“天宫”这种真正的太空舱,而是一种比喻,就像航天员在上太空前,不可能去真实的太空环境做训练,而是在水下搭建一套模拟的太空舱做训练,这样不仅可以以最小的成本完成各种训练和操作,而且可以让航天员体验太空环境和可能遇到的问题。太空舱项目的目的是打造一套云原生环境故障模拟系统,帮助用户更好地理解可观测性产品的价值,并对各类故障进行预演,提前制定恢复方案,这样即使出现故障,也可以第一时间恢复,最大限度减少..

2022-04-18 15:03:02 197

原创 Kindling项目目标利用eBPF技术带来的可观测性的上帝视角 ——关联内核可观测数据的trace

当前可观测性工具在云原生环境缺失了什么?大家在使用可观测性产品当中,海量的数据一定会给排障带来障碍。稍微有点排障经验的技术人员都希望排障过程中能够追寻trace,并能沿着这个trace将各种可观测性的数据关联到这个trace上,这样最终就可以将问题根因找到。在eBPF技术出现之前,大家最常用的trace就是dapper论文中提到分布式追踪技术,但是在实际落地过程中会经常碰到以下痛点:第一个痛点:探针自动化覆盖依赖人工:APM探针安装需要人工安装,应用重启才能生效,所以很难做到自动化覆盖所有业务。

2022-04-06 15:39:41 999

翻译 你应该给eBPF一个机会

通过这篇博客,我想要和读者探讨两个问题,一是为什么说eBPF是一项很重要的技术,二是为什么在前段时间它引发了我的兴趣。在这里,我并不想去探讨eBPF的工作原理,我只想去解释eBPF拥有超高热度的背后原因。在之后的博客文章中,我将更深入地探讨这项技术和它的工具。在我说明对它感兴趣的理由之前,我想给你一个关于eBPF的基本介绍。如果你已经对eBPF有了广泛的了解,可以跳过这一节,转到下一节。eBPF背后的思想是,我们有一个运行在Linux内核中的虚拟机,我们可以发送代码让它执行。由于某种原因,称它为虚拟

2022-03-28 14:26:43 373

原创 为什么说eBPF对可观测性很重要?

eBPF的由来当我们想要实现安全、网络和可观测性功能时,我们往往会选择基于Linux内核来实现,因为这种方式可以具备性能好、灵活性高等优点。然而,基于内核实现通常是比较困难和繁琐的。在传统基于内核实现的方式中,开发人员可能需要去修改内核源代码再重新编译或者是通过加载内核模块的方式来实现,这时开发人员会发现自己要应对复杂的基础设施和难以调试的抽象层,非常棘手。而如果我们采用eBPF技术,则既不需要修改内核,也不需要添加其他模块,可以很好地解决上述问题。 ...

2022-03-18 16:36:20 1598

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除