可观测是为了解决问题,所以在聊可观测之前,应先对问题排查的普适原则进行了解。
背景介绍
问题排查的原则
以排查系统问题为例,要理解系统,要先关注基础知识,理解编程语言基本的计算机科学知识,关注系统大图比如架构部署和重大流程,要关注运行细节,要对核心功能的算法和数据结构了然于心,还要关注系统的运维工具,能够了解发布、回滚和监控。
在理解的基础上,还要能够复现问题,主要关注问题发生的触发条件以及问题发生时数据现场的保留,包含指标、链路、日志、事件等。
有了现场再加之对于系统的,才可以定位问题。通过现场保留的数据,进行关联分析;基于理解,可以快速用二分定位到根因。在定位的过程中,尤其要关注变更,因为有大量的系统问题是由变更导致的。
确定根因后再进行修复,既要治标也要治本,并且要充分验证,确保不引入新的问题。
以上为问题排查的普适原则,它不仅适用于系统问题的排查,也可以应用到生活的方方面面。
而可观测使得问题排查的过程更加高效、稳定、低成本。它能够帮助我们理解系统,出现问题的时候能够留下足够多的现场,能够使数据之间很方便地进行关联,帮助我们做二分的关联分析,最终还可以验证修复是否正确。
Kubernetes 可观测挑战
复杂度是恒定的,它不会消失,只会转移。我们构建的编程语言、编程框架、容器操作系统都只是将复杂度关在合适的地方。如果一切运行正常,皆大欢喜;而一旦出现问题,就是灾难。复杂度不断下沉的趋势使得可观测面临了很大的压力。Kubernetes 的流行使得微服务架构十分普及,多语言、多通信协议成为常态,这也在另一方面带来了挑战。
挑战 1:端到端观测复杂度上升,埋点成本居高不下。然而这只是冰山一角,有大量能力下沉到 Kubernetes 管控层、容器运行层、网络和操作系统层面,这些基础设施能力的下沉带来了很大挑战。
挑战 2:由于关注点的分离,使得应用问题与底层问题无法自顶向下形成关联。
挑战 3:虽然有很多工具,但是上下文缺失、数据散落,导致无法通过这些数据很好地理解应用,因为现场的缺失无法关联,而使问题排查效率低下。
可观测需要有统一的技术来解决自身的复杂度。
基于 eBPF 的可观测实践分享
eBPF 介绍
从一开始,内核就是可观测的绝佳位置,然而由于效率和安全问题一直无法实现。经过多年发展,eBPF 技术为可观测打开了新的大门。文章来源:https://www.toymoban.com/news/detail-803701.html
eBPF 是一项可以安全地在内核中运行沙盒程序的技术,无需修改文章来源地址https://www.toymoban.com/news/detail-803701.html
到了这里,关于基于 eBPF 的 Kubernetes 可观测实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!