如何实现系统稳定和性能提升 | 社区内关于可观测性的新尝试

科技   2024-09-26 16:00   上海  

作为一名对可观测性领充满热情的工程师,我带着对 KubeCon China 2024 的憧憬,踏上了前往香港的旅程。这个为期三天的会议,汇聚了来自全球的云原生技术爱好者和专家,议题分享覆盖了容器、可观测性、服务网格、AI 工程化、Serverless 等多个领域。除了火得一塌糊涂的 AI 相关议题,另一个比较火热的方向就是可观测性。于我而言,这场盛会不仅是与开发者进行技术交流的平台,也是洞察行业趋势的窗口

01
OpenTelemetry
的创新实践
在会议的第一天,作为 OpenTelemetry 社区的活跃成员,我有幸和阿里云的三位开发者一起向参会者详细介绍了这个项目。OpenTelemetry 提供了一套统一的标准,使得不同供应商和工具之间的数据格式和收集方法能够保持一致,避免了供应商锁定的问题。这种中立性允许用户自由选择和切换不同的可观测性后端,同时保持数据的兼容性和一致性。
OpenTelemetry 不仅支持跟踪(Traces)、度量(Metrics)和日志(Logs)的收集,还能够关联这些数据提供更全面的系统视图。这种多维度的数据收集对于深入理解系统行为和性能至关重要。
通过 OpenTelemetry,用户可以获得跨多个服务和组件的深入洞察,这对于微服务架构和复杂的云原生环境尤为重要。这种跨组件的可见性有助于快速定位问题和优化系统性能
作为一个开放的框架,OpenTelemetry 鼓励社区成员贡献新的想法和技术,推动可观测性领域的创新。目前,OpenTelemetry 拥有一个活跃的开源社区,不断有新的工具、集成和改进被加入。这种开放性吸引了广泛的开发者和组织参与,加速了技术的发展和应用。这个生态系统包括了各种语言的 SDK、收集器、处理器和导出器,使得 OpenTelemetry 能够适应不同的开发环境和技术栈。最后,我们向大家同步了 OpenTelemetry 社区的最新动态,包括 OpenTelemetry 比较重要的 SDK/AgentOTel Profiling 以及 Collector 组件最新的动态,同时也介绍了 OpenTelemetry 社区官网主页的国际化进展。

此次 KubeCon 一共有超过 20 个主题可观测相关,除了自己的演讲,我也积极参与了其他关于可观测性的议题分享与讨论,在会议期间,能够有机会与来自不同背景的技术专家进行了深入交流,分享各自在可观测性实践中遇到的问题和解决方案,这些交流极大地丰富了我的视野。

《GraalVM 静态编译下 OTel Java Agent 的自动增强方案与实现 》

Java 应用程序在云原生环境中的性能和资源消耗问题常常受到关注,我们需要采取措施来优化它们,以提高效率和降低资源占用。因此,Oracle 推出了新一代 Java 虚拟机 —— GraalVM,GraalVM 是一个高性能的 JDK,用于加速 Java 和 JVM 应用的性能,同时简化 Java 云原生服务的构建和运行。它提供优化的编译器,可以更快地生成代码并降低计算资源消耗,实现微服务即时启动。此外,GraalVM 本地镜像实用程序可提前 (AOT) 编译 Java 字节码,生成可近乎瞬时启动且仅占用极少内存资源的本机可执行文件。但是对基于 GraalVM 构建的 Java 应用的可观测存在着一定难度,来自阿里云的 Zihao Rao 在这个议题中分享了他们的解决方案。

《面向 Kubernetes 控制面的全局追踪系统》

调试 Kubernetes 系统问题是复杂的:不同的控制器独立地操作对象,有时会触发其他控制器的变化。与传统的基于RPC 的服务不同,组件之间的关系并不明确;确定哪个组件引起了问题就像在一堆草堆中找针一样困难。组件展示它们自己的碎片化数据,通常仅限于单个请求的生命周期,并未展示异步因果事件的整体情况。

字节跳动团队介绍了他们的开源项目 Kelemetry,Kelemetry 是一个利用审计日志、事件、通知器和组件跟踪的分散数据源的 Kubernetes 控制平面全局跟踪系统。分享中介绍了 Kelemetry 原理以及通过几次在线问题排查演示,展示了 Kelemetry 如何揭示相关对象在长时间跨度内的状态转换,并重建事件的因果层次结构,以提供对 Kubernetes 系统中发生的一切的直观洞察。

《OpAMP:灵活扩展  OpenTelemetry》

越来越多的用户或组织选择使用 OpenTelemetry 构建他们的可观测系统,包括 OTel Agent 以及 OTel collector 后端组件,然而,随着 OTel Col 的大规模部署与应用,如何对其管理也是一大挑战。议题中介绍了 Open Agent Management Protocol (OpAMP) 以及其产生的背景,OpAMP 是一种新兴的开放标准,用于在规模化环境下管理遥测代理的集群。2022年,Splunk 将 OpAMP 捐赠给 OpenTelemetry 项目,并在 observIQ 的反馈下进行了初步的改进。

我们可以利用 OpAMP 协议实现如下可观测控制面

因为在多集群管理中也遇到过类似挑战,「DaoCloud 道客」也一直在关注并参与 OpAMP 的开源建设,目前在内部实现了可观测性控制面的开发,近期将会通过开源的形式和大家见面,欢迎大家持续关注。

02

eBPF 在可观测领域
的实践应用

谈到可观测性怎么能少得了 eBPF 技术,可观测性领域正在经历一场颠覆性的转变,其中核心驱动力便是  eBPF(扩展伯克利数据包过滤器)技术。作为下一代改革先锋,eBPF 技术正在彻底改变我们对系统观测和监控的认知。下面几个议题则是 eBPF 在可观测领域的实践应用。

《可观测性超级增强器:使用零代码为数百万个容器构建流量拓扑图》

Kubernetes 使容器编排和管理变得简单易行。然而,随着应用程序和中间件在 Kubernetes 上的激增,面对不同集群中数百万个容器或服务时,分析和识别大量服务和中间件之间的关系和依赖关系变得困难。因此,人们直观的想法则是通过一张拓扑图能够展示出我们系统的全貌,我们再根据异常的指标去下钻定位问题根因。在这个议题中,讲师分享了他们在构建如此大体量的拓扑图的探索与思考。最常见的方法是,业务方进行代码更改以暴露更多可观测性信息,这对所有应用程序来说是不可能覆盖的。这里提到了通过 eBPF 技术,实现了应用无侵入的方式采集容器之间的调用关系,并通过采集的关系绘制拓扑图。最后,两位讲师也通过 Demo 进行了现场演示。

《OpenTelemetry 放大:使用 eBPF 启用的分布式跟踪实现全面的可观测性》

在云原生生态系统中,OpenTelemetry 已经成为跨语言和跨平台可观测性的事实标准。通过为各种编程语言提供全面的跟踪、度量和日志解决方案,OpenTelemetry 为开发人员和运维人员提供了对复杂系统的深入洞察。近年来,通过在 Linux 内核空间引入 eBPF 的创新能力,OpenTelemetry 还进一步拓展了其可观测性边界。

然而,这种创新之旅遇到了新的挑战,特别是在减少某些编程语言中的侵入性和在内核和用户空间之间相关联可观测性数据方面。此议题介绍了阿里云在这些挑战中的旅程。通过利用 eBPF 技术,提供了一种集成的、不那么侵入性的方法,实现实时洞察分布式系统。这个议题对 eBPF 技术做了很深入的介绍:

《通过 eBPF 解锁 LLM 性能:优化训练和推理管道》

大语言模型(LLMs)的训练和推断过程涉及处理大量的模型数据和训练数据,并消耗大量的 GPU 计算资源。然而,在缺乏可观察性的情况下,提高 GPU 利用率变得极具挑战性。这个议题介绍了如何利用 eBPF 在 LLM 训练和推理过程中实现零中断的可观察性。这包括利用内存分析来了解模型和训练数据的加载性能,网络分析来理解数据交换性能,以及 GPU 分析来分析 GPU 的 MFU(模型 FLOPs 利用率)和性能瓶颈。

分享的最后,Yang Xiang 介绍了在 PyTorch LLM 应用程序和 llm.c 项目中使用 eBPF 实现可观察性的实际效果。

KubeCon 2024 香港峰会是云原生技术领域的一场思想盛宴和灵感的火花碰撞。感谢这些精彩的分享和宝贵的对话,不仅拓宽了我的技术视野,也为我带来了新的启发。带着这些收获,我期待将这些经验和洞见带回 OpenTelemetry 社区,为推动可观测性技术的创新与发展贡献自己的力量。



 本文作者 



谭建

「DaoCloud 道客」可观测性开发工程师




热门推荐

            

访问以下网址,或点击文末【阅读原文】立即体验

d.run,让算力更自由
https://d.run/




DaoCloud 公司简介

「DaoCloud 道客」,云原生领域的创新领导者,成立于 2014 年底,凭借其自主知识产权的核心技术,成功打造了新一代云原生操作系统 DaoCloud Enterprise 5.0,致力于推动企业数字化、智能化转型。依托在云原生领域的技术积淀与持续创新,「DaoCloud 道客」推出 d.run 算力一体化解决方案,作为专业的技术提供商参与并推动多个区域算力枢纽中心的建设,为各行各业提供稳定、高效的算力支持。成立迄今,公司已在金融科技、先进制造、智能汽车、零售网点、城市大脑等多个领域深耕,标杆客户包括交通银行、浦发银行、上汽集团、格力集团、京东方、屈臣氏集团等。公司总部位于上海,并在新加坡、北京、深圳、成都、南京、武汉等地设立多家分公司及合资公司,总员工人数超过 300 人,是国家级“专精特新”小巨人企业、上海市高新技术企业,并入选了科创板培育企业名单。


网址:www.daocloud.io

邮件:info@daocloud.io

电话:400 002 6898



道客船长
分享云原生技术相关信息,助力开发者和企业云海扬帆!本公众号由 DaoCloud 负责运营
 最新文章