基于 eBPF 的 Kubernetes 可观测实践

这篇具有很好参考价值的文章主要介绍了基于 eBPF 的 Kubernetes 可观测实践。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

可观测是为了解决问题,所以在聊可观测之前,应先对问题排查的普适原则进行了解。

背景介绍

问题排查的原则

阿里 arms ebpf,kubernetes,java,运维,云计算,云原生

以排查系统问题为例,要理解系统,要先关注基础知识,理解编程语言基本的计算机科学知识,关注系统大图比如架构部署和重大流程,要关注运行细节,要对核心功能的算法和数据结构了然于心,还要关注系统的运维工具,能够了解发布、回滚和监控。

在理解的基础上,还要能够复现问题,主要关注问题发生的触发条件以及问题发生时数据现场的保留,包含指标、链路、日志、事件等。

有了现场再加之对于系统的,才可以定位问题。通过现场保留的数据,进行关联分析;基于理解,可以快速用二分定位到根因。在定位的过程中,尤其要关注变更,因为有大量的系统问题是由变更导致的。

确定根因后再进行修复,既要治标也要治本,并且要充分验证,确保不引入新的问题。

以上为问题排查的普适原则,它不仅适用于系统问题的排查,也可以应用到生活的方方面面。

而可观测使得问题排查的过程更加高效、稳定、低成本。它能够帮助我们理解系统,出现问题的时候能够留下足够多的现场,能够使数据之间很方便地进行关联,帮助我们做二分的关联分析,最终还可以验证修复是否正确。

Kubernetes 可观测挑战

阿里 arms ebpf,kubernetes,java,运维,云计算,云原生

复杂度是恒定的,它不会消失,只会转移。我们构建的编程语言、编程框架、容器操作系统都只是将复杂度关在合适的地方。如果一切运行正常,皆大欢喜;而一旦出现问题,就是灾难。复杂度不断下沉的趋势使得可观测面临了很大的压力。Kubernetes 的流行使得微服务架构十分普及,多语言、多通信协议成为常态,这也在另一方面带来了挑战。

挑战 1:端到端观测复杂度上升,埋点成本居高不下。然而这只是冰山一角,有大量能力下沉到 Kubernetes 管控层、容器运行层、网络和操作系统层面,这些基础设施能力的下沉带来了很大挑战。

挑战 2:由于关注点的分离,使得应用问题与底层问题无法自顶向下形成关联。

挑战 3:虽然有很多工具,但是上下文缺失、数据散落,导致无法通过这些数据很好地理解应用,因为现场的缺失无法关联,而使问题排查效率低下。

可观测需要有统一的技术来解决自身的复杂度。

基于 eBPF 的可观测实践分享

eBPF 介绍

阿里 arms ebpf,kubernetes,java,运维,云计算,云原生

从一开始,内核就是可观测的绝佳位置,然而由于效率和安全问题一直无法实现。经过多年发展,eBPF 技术为可观测打开了新的大门。

eBPF 是一项可以安全地在内核中运行沙盒程序的技术,无需修改文章来源地址https://www.toymoban.com/news/detail-803701.html

到了这里,关于基于 eBPF 的 Kubernetes 可观测实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • eBPF 入门开发实践教程十:在 eBPF 中使用 hardirqs 或 softirqs 捕获中断事件

    eBPF (Extended Berkeley Packet Filter) 是 Linux 内核上的一个强大的网络和性能分析工具。它允许开发者在内核运行时动态加载、更新和运行用户定义的代码。 本文是 eBPF 入门开发实践教程的第十篇,在 eBPF 中使用 hardirqs 或 softirqs 捕获中断事件。 hardirqs 和 softirqs 是 Linux 内核中两种不

    2024年02月07日
    浏览(35)
  • eBPF内核技术在滴滴云原生的落地实践

    将滴滴技术设为“ 星标⭐️ ” 第一时间收到文章更新 导读 eBPF是Linux内核革命性技术,能够安全高效地扩展内核能力,应用广泛,尤其是在云原生可观测性领域的应用已经成为行业热点。在滴滴云原生环境中,eBPF技术进行了业务实践和内源共建,HuaTuo eBPF 平台快速落地并取

    2024年02月12日
    浏览(32)
  • eBPF 入门开发实践教程十一:在 eBPF 中使用 libbpf 开发用户态程序并跟踪 exec() 和 exit() 系统调用

    eBPF (Extended Berkeley Packet Filter) 是 Linux 内核上的一个强大的网络和性能分析工具。它允许开发者在内核运行时动态加载、更新和运行用户定义的代码。 在本教程中,我们将了解内核态和用户态的 eBPF 程序是如何协同工作的。我们还将学习如何使用原生的 libbpf 开发用户态程序,

    2024年02月07日
    浏览(36)
  • 【eBPF-01】初见:基于 BCC 框架的第一个 eBPF 程序

    闲言少叙,本文记录了如何零基础通过 BCC 框架,入门 eBPF 程序的开发,并实现几个简易的程序。 有关 eBPF 的介绍,网络上的资料有很多,本文暂且先不深入讨论,后面会再出一篇文章详细分析其原理和功能。 我们目前只需要知道, eBPF 实际上是一种过滤器,这种过滤器 几

    2024年02月04日
    浏览(52)
  • eBPF系列之:DeepFlow 扩展协议解析实践(MongoDB协议与Kafka协议)

    原文:https://blog.mickeyzzc.tech/posts/ebpf/deepflow-agent-proto-dev MongoDB 目前使用广泛,但是缺乏有效的可观测能力。DeepFlow 在可观测能力上是很优秀的解决方案,但是却缺少了对 MongoDB 协议的支持。该文是为 DeepFlow 扩展了 MongoDB 协议解析,增强 MongoDB 生态的可观测能力,简要描述了从

    2024年01月21日
    浏览(33)
  • eBPF 入门实践教程十五:使用 USDT 捕获用户态 Java GC 事件耗时

    eBPF (扩展的伯克利数据包过滤器) 是一项强大的网络和性能分析工具,被广泛应用在 Linux 内核上。eBPF 使得开发者能够动态地加载、更新和运行用户定义的代码,而无需重启内核或更改内核源代码。这个特性使得 eBPF 能够提供极高的灵活性和性能,使其在网络和系统性能分析

    2024年02月07日
    浏览(37)
  • 【eBPF-02】入门:基于 BCC 框架的程序进阶

    本文是 eBPF 系列的第二篇文章,我们来学习 eBPF BCC 框架的进阶用法,对上一篇文章中的代码进行升级,动态输出进程运行时的参数情况。 主要内容包括: 通过 kprobe 挂载内核事件的 eBPF 程序要如何编写? 通过 tracepoint 挂载内核事件的 eBPF 程序要如何编写? eBPF 的程序事件类

    2024年02月04日
    浏览(34)
  • DeeTune:基于 eBPF 的百度网络框架设计与应用

    作者 | 百度APP云原生技术研发组 导读 随着云计算的技术的不断迭代演进,百度内部服务逐渐搬迁到云环境中,部署成本和效率取得明显收益,但一些可观测能力的短板和缺失逐渐显露,传统的方式往往通过植入代码进行修改来实现,但在业务形态和技术栈多样性的背景下,

    2024年02月09日
    浏览(36)
  • 快速探索 Tetragon:基于 eBPF 的安全可观察性和执行工具

    Tetragon 是一种灵活的安全可观察性和运行时策略执行工具,可直接使用 eBPF 应用策略和过滤,从而减少了监控、进程跟踪以及实时执行策略的开销。 Tetragon 提供了如下功能: 监控进程执行 监控文件操作 监控网络活动 执行策略 最后一个侧重策略的执行,可以通过发送信号或

    2024年02月04日
    浏览(46)
  • 利用 Kubernetes 降本增效?EasyMR 基于 Kubernetes 部署的探索实践

    Kubernetes 是用于编排容器化应用程序的云原生系统。最初由 Google 创建,如今由 Cloud Native Computing Foundation(CNCF)维护更新。 Kubernetes 是市面上最受欢迎的集群管理解决方案之一。它自动化容器化应用程序的部署、扩展和管理,允许管理和协调跨多个主机的容器集群,提供容错

    2024年02月05日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包