Tetrate刘晗:SkyWalking原生eBPF探针实战

嘉宾 | 刘晗   整理 | 郑远程

出品 | CSDN云原生

2022年5月10日,在CSDN云原生系列在线峰会第4期“Apache SkyWalking峰会”上,Tetrate工程师、Apache SkyWalking PMC成员刘晗分享了SkyWalking原生eBPF探针的应用实践。

戳👇观看刘晗分享视频

Tetrate刘晗透彻解析eBPF与可观测性的联系

为什么需要eBPF

eBPF可以做什么

从上往下看,最上面部分代表的是使用案例:

  • 用eBPF进行一些网络上的优化

  • 对安全进行监控、处理

  • 进行可观测性领域建设

对于User Space:

  • eBPF技术有很多项目,比如bcc、cilium

  • 当开发eBPF程序时,它有很多不同语言的框架,比如最常见的Golang、 C++、Rust

对于Kernel:

  • 当eBPF程序嵌入到Linux内核过程中,同时可以对用户态程序进行监控,也可以对内核的一些运行过程进行监控处理

程序和内核交互方式

举例来说,现在有两个微服务进程,a服务调用b服务,在调动过程中会涉及一些网络通信问题,在进程内部无论如何处理,它最终都会通过syscall进行调用系统函数,比如调用sendmsg发送消息,内核接收到来自业务进程的请求就会进行相关的处理,最终到达一些硬件部分,不管是读取文件还是网络或者其他操作都会涉及到内核。

eBPF程序可以把它理解为是一个基于事件驱动的程序回调。

  • 比如进行调用系统syscall时,可以嵌入eBPF程序,进行相关处理。

  • 进行网络请求时,可以嵌入eBPF程序,感知到这个程序并进行网络请求。

  • 进行自定义程序处理、网卡及其网卡涉及到的相关操作时,同样可以嵌入eBPF程序进行处理。

eBPF程序执行

比如有一个进程,它准备执行一个系统函数,此时内核就会检测到这个函数是否

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值