您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[2023 DOIS DevOps 国际峰会 · 北京站暨 BizDevOps 企业峰会]:闻茂泉-阿里大数据平台超大规模集群单机可观测性实战 - 发现报告
当前位置:首页/行业研究/报告详情/

闻茂泉-阿里大数据平台超大规模集群单机可观测性实战

AI智能总结
查看更多
闻茂泉-阿里大数据平台超大规模集群单机可观测性实战

阿里大数据平台单机可观测性探索和实践 闻茂泉阿里云运维专家 现任阿里巴巴云计算公司计算平台事业部运维专家,主要负责大数据平台基础运维相关工作。拥有10年以上阿里大数据运维经验,尤其在单机可观测性和单机稳定性方面拥有多年的技术沉淀。 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 Content 目录 单机可观测性体系特点 01 可观测性与成本开销 02 单机可观测性工具介绍 工具定位和工具特点 03 可观测性与LinuxLoad 极大丰富Metrics的可观测性价值 04 可观测性与磁盘IO Metrics与Tracing的相互替代性 01 单机可观测性体系特点 可观测性与成本开销 何为可观测性 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 01 定义 云原生计算基金会定义的最新一代可观测规范,定义了可观测性的三大支柱: Metrics、Trace、Log(指标、 链路、日志)。 02 特点 明确mtrics相对trace和log 的低容量(lowvolume)特点。 可观测性与传统监控的区别 传统监控 监控是能在系统抖动时及时发现问题。 监控主要任务是发现问题而非解释问题 •监控大屏 •监控报警 •巡检报告 可观测性 可观测性是在监控基础上能解释清楚问题。 解释清楚问题需要依赖丰富的数据信息 •依赖更加丰富的metrics信息 •依赖更多的trace信息 •依赖更全面的log信息 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 成本开销是制约可观测性发展的难题 可观测性成本开销难题 可观测性的理想是美好的,但现实是残酷的。由于任何可观测性都需要一定程度的metrics和trace数据作为基础。因此,可观测性必然导致各种成本问题。这其中包括采集性能开销成本、数据存储成本、数据计算成本和人员维护成本等。 01020304 数据采集开销 数据存储成本 数据计算成本 人员维护成本 不论是metrics的采集,还是trace数据获取,都会有一定性能开销。过多的性能开销会影响系统的稳定性。 过多的metrics的采集,大量的trace数据的收集,都需要大量的存储开销。从而带来巨大的存储成本问题。 过多的metrics的采集,大量的trace数据的收集,还会带来大量计算资源开销,来处理这些数据。 对Metrics的采集过程,数据存储过程和数据处理过程都需要很多人员维护成本投入。 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 大数据集群可观测性的特点 大数据集群本身的特点,又加剧了矛盾的尖锐性。 规模大 常规的可观测性解决方案,在大数据集 群的规模下,面临巨大的存储和计算成本压力。 资源负载高 大数据集群相较于其他业务,本身的资 源水位也比较高。引发了更多的单机性能问题。 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 场景复杂 大数据集群的各种作业使用场景较复杂,进一 步加剧了单机可观测性的挑战。 基于以上对可观测性的理解,我们打磨了阿里大数据集群的单机可观测性体系。 Metrics •弥补传统监控Metrics指标数量不足等缺点,打造阿里自研单机工具ssar。 •ssar工具采用了去中心化存储方案,同时满足了指标丰富和低开销两个特点。 Lowvolume Monitoring Metrics Tracing •拓展各种内核tracing技术的使用,自研基于内核驱动的IO诊断工具iodump。 •将traceing工具作为metrics的扩展和补充,慎重开启tracing的常态化运行。 MarketVacancy Logging syslogooblog Tracing ssar ebpf Logging •深入挖掘带外管理日志的作用,弥补系统异常时syslog日志幸存者偏差缺陷。 Highvolume driver systemtap iodump 阿里大数据集群单机可观测性体系 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 02 单机可观测性工具介绍 工具定位和工具特点 ssar由采集器、内层通用查询器和外层查询器3部分构成: ssar架构图 数据消费者 采集器sresar •按文件单位采集的整机数据,meminfo、stat、vmstat等; •包含25个指标的进程级数据; •独特的load5s指标和详细的R或D状态线程详情数据; Shell格式 ssar+ tsar2 通用查询器ssar命令 •负责按文件名、某行、某列等通用规则对文件数据进行逻辑解析; •对常用指标,通过配置文件实现预定义指标展示; sresar常驻进程 Json格式 Json格式 单机可观测性工具ssar架构介绍 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 ssar命令 查询器tsar2和ssar+ •python语言实现,对ssar命令进行封装,全面兼容tsar命令; •对ssar命令进行封装,未来可以对标dstat等工具,并有历史数据查询功能; 定时采集数据读取历史数据 Data文件:/var/log/sre_proc/YYmmddHH/YYmmddHHMMSS_meminfo 相比较其他传统监控软件,ssar有以下优势: 指标更长久 •指标更丰富 不但完整记录了几乎所有整机指标,还 记录了系统所有进程的25个关键指标;02 01 •指标更完整 04 通过对CPU和内存等资源的极致优化, 在系统异常时记录更加珍贵的关键数据;比其他监控工具更具可靠性; •指标更密集 对一些关键指标,采集间隔更加小; 03 •指标更独特 针对linuxload指标,ssar工具国内外全行业独创了load5s指标。 sar 监控工具 sar ssar OS指标数 约120个 约上万 指标更密集 ssar 指标更丰富 单机可观测性工具ssar的产品定位 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 单机可观测性工具ssar的低成本开销 ssar成功的解决了可观测性上面临的各种成本开销。 01020304 数据采集开销 •万台集群top5的系统开销,CPU不高于单核1.8%,内存不高于4.0MB。 •进程启动后,不但物理内存(rss)使用保持恒定不变,次缺页中断(min_flt)也保持0增长状态。增强了系统内存枯竭情况下的鲁棒性. 数据存储成本 •采用去中心化的本地存储; •万台集群top200机器的磁盘空间占用,7天存储约1GB左右。 数据计算成本 •采集时采用文件复制,在指标消费时才进行解析,实现延迟计算。从而节省了大量的计算资源的开销。 人员维护成本 •ssar工具无需修改代码,只需简单修改配置文件扩展采集系统的任意指标; •ssar工具支持使用python语言二次开发,二次开发入门的门槛低; 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 A B C 弹性存储策略 •从单机稳定性来说,要保证不因ssar的原因引起磁盘空间打满。当磁盘空间使用率达到阈值(默认90%)后,停止数据采集; •这种磁盘空间处理逻辑如图中所示绿色部分磁盘空间表示; 90% 存储空间源泉 ssar工具的弹性存储空间策略 •去中心化存储,单节点占用1GB; •节点上压缩一些低价值的log的磁盘空间占用,让位给高价值的metrics数据; 包容异常策略 •当由于其他进程的原因继续使磁盘空间存储增长时,ssar会启动7天内历史数据回收工作,直到使磁盘使用率小于90%或将ssar历史数据基本清理完毕; 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 ABCD 磁盘IO类tracing工具iodump介绍 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 iodump原理 •依赖了内核block层的这些tracepoint探针点,捕获IO数据,并依 赖Relayfs传输数据用户态,最后通过iodump用户态进程读取数据。iodump实现了传统的blktrace没有的重要功能,包括文件路径信 息、io发起来源的系统调用函数信息。iodump还对blktrace已有的信息做了优化,例如规范了日期和时间格式,输出tgid信息等。 •iodump本质上采用的是加载内核模块方式实现,在重要的生产环境使用前,请提前进行充分的兼容性和稳定性测试。 iodump介绍 •iodump工具是利用内核tracepoint静态探针点技术实现的一个io问题排查工具。通过iodump工具,我们可以获取每一个IOPS (w/s和r/s)的详细信息。不仅包括IO请求的size大小,还包括IO请求的扇区地址,同时还包含IO请求的发生时间、读写的文件全路径、产生IO请求的进程、产生IO请求的系统调用和扩展IO类型等信息。其中最具有特色的就是读写的文件全路径功能。 单机可观测性工具开源及影响力情况介绍 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 ssar和iodump工具已经在行业领先的基础软件开源社区及创新平台龙蜥社区(OpenAnolis)开源。 项目的行业影响力 •ssar工具在阿里内部有广泛使用,在阿里内部有数十万装机规模,持续稳定运行多年。 •在行业内公司也有一定知名度,有若干知名公司进行规模化使用。以知名互联网公司瓜子网为例,曾经多次成功使用ssar和iodump诊断单机稳定性问题。 项目的官方开源地址 •https://gitee.com/anolis/ssar.git •https://gitee.com/anolis/iodump.git 龙蜥社区官方软件安装包 •https://mirrors.openanolis.cn/anolis/7.9/extras/x86_64/os/Packages/ssar-1.0.4-1.an7.x86_64.rpm •https://mirrors.openanolis.cn/anolis/7.9/extras/aarch64/os/Packages/ssar-1.0.4-1.an7.aarch64.rpm •https://mirrors.openanolis.cn/anolis/8.8/Experimental/aarch64/os/Packages/ssar-1.0.4-1.an8.aarch64.rpm •https://mirrors.openanolis.cn/anolis/8.8/Experimental/x86_64/os/Packages/ssar-1.0.4-1.an8.x86_64.rpm 03 可观测性与LinuxLoad 极大丰富Metrics的可观测性价值 LinuxLoad基础概念 2023DevOps国际峰会暨BizDevOps企业峰会·北京站 linuxload更新频率 •使用dstat命令可以观察到load指标的更新频率大约为5秒; •查看linux内核源码,进一步了解到更新频率准确值是5001毫秒; linuxload准确含义 •Linux内核中,线程状态有很多种,最常见有R、D、S、Z等; •Linuxload的计算方法是每隔5001毫秒,取系统当前R和D状态的线程数,将其和赋值给active变量。然后用5001毫秒前的load值和当前时刻active值来计算当前时刻的load值; linuxload验证实验 •在一台空闲的机器上,执行stress-c100命令,模拟R状态的线程; •D状态线程数约为0,R状态线程数为100个单线程的stress进程,因此active值始终在100左右; •同时在另外一个终端执行5秒刷新的dst

你可能感兴趣

hot

赵舜东-基于开源工具的可观测性平台二次开发实践-赵班长

信息技术
XOps 风向标!GOPS 全球运维大会暨研运数智化技术峰会 2024 · 上海站2024-10-21
hot

咪咕互娱云游戏平台智能化运维与可观测性实践探索- 周鸣

文化传媒
XOps 风向标!GOPS 全球运维大会暨研运数智化技术峰会 2024 · 上海站2024-10-21
hot

刘明刚-B站一站式大数据集群管理平台

信息技术
DataFunSummit2024:数据产品在线峰会2024-12-06