阿里大数据平台单机可观测性探索和实践
1. 观测性与成本开销
- 观测性:云原生计算基金会定义了三大支柱:Metrics、Trace、Log。
- 成本问题:可观测性会导致数据采集、存储、计算和维护成本上升。
- 数据采集开销:性能开销可能影响系统稳定性。
- 数据存储成本:大量数据需要存储,带来巨大开销。
- 数据计算成本:处理大量数据需要更多计算资源。
- 人员维护成本:维护可观测性系统需要较多人力。
2. 大数据集群特点
- 资源负载高:大数据集群资源需求较高。
- 规模大:常规可观测性解决方案在大规模集群下面临成本压力。
- 场景复杂:作业使用场景复杂,增加了单机可观测性的挑战。
3. 阿里单机可观测性体系
- 工具ssar:实现丰富的、低开销的指标采集。
- 架构:由采集器、内层通用查询器和外层查询器组成。
- 特点:记录几乎所有整机指标,支持历史数据查询,对关键指标进行高频采集。
- 优势:比传统监控工具更丰富、更可靠,支持Python二次开发,降低维护成本。
- 弹性存储策略:去中心化存储,自动清理低价值日志,避免磁盘空间耗尽。
4. 磁盘IO诊断工具iodump
- 原理:利用内核tracepoint探针捕获IO数据,通过Relayfs传输至用户态。
- 功能:提供详细的IO请求信息,包括文件路径、系统调用函数等。
- 应用场景:帮助诊断磁盘IO打满问题,定位具体读写文件。
5. Linux Load与Metrics
- Linux Load计算:每5001毫秒更新一次,通过R和D状态线程数计算。
- load5s指标:比load1更精确,用于快速定位load异常时间范围。
- 应用场景:通过ssar工具分析loadR和loadD高异常场景,识别并解决相关问题。
6. 磁盘I/O与Tracing的替代性
- 磁盘I/O诊断:使用iodump抓取详细IO信息,辅助分析磁盘利用情况。
- 内存颠簸诊断:通过ssar监控主缺页中断和maj_dlt指标,定位内存紧张问题。
通过上述总结,可以看出阿里大数据平台在单机可观测性方面采取了先进的技术和策略,有效降低了可观测性的成本开销,提升了系统的稳定性和诊断效率。