SimbaSchema 在数据云平台中的可观测性实践与应用
建立可观测性体系是很多数据部门的理想。从 Logs、Metrics、Traces 和 Meta 抓取系统状态,到建立数据模型和指标体系,全流程均通过数据来支持运维。建立可观测性体系具备其行业标准,即所有数据平台类基础设施理论上都应提供 Infomation Schema 可观测性标准接口。
一、数据云平台 SimbaSchema
SimbaSchema 是 SimbaOS 数据模型服务,是 DataSimba 的 Infomation Schema 可观测性事实标准。通过访问数据模型,可以查询到全平台的系统数据信息及使用历史信息,支持平台管理、数据运维和数据开发角色进行大数据诊断、智能运维、数据治理、安全合规和计量计费等场景分析和应用。
二、可观测性实践
数据云平台 SimbaSchema 可从研发、存储、计算、质量和安全层面进行全面的可观测实践。
其中计算作为数据平台的重中之重,以 Task 对象为例,Task 对象作为数据管道的实现,除了理解数据管道的性能与可靠性外,还需理解数据在管道中流动的状态。而调度作为数据管道的基础行为,分析调度行为可以从整体稳定性对 Task 执行进行可观测。如下图,我们用时间单元的理论调度数和实际调度数 2 个指标来观测调度行为,实际上在同一个时间刻度,实际调度数远小于理论调度数,平台调度存在一定的滞后性。
SimbaSchema 提供的调度分析模型,支持调度窗口的调度行为指标体系,检测平台调度滞后情况,监控调度效率,同时提供如下能力:1. 窗口完成率分析,分析调度滞后情况 2. 调度热度分析,监控分析空调度时间和热调度时间点 3. 调度异常智能检测
然而要找到问题的根因,我们需要进一步对单 Job(作业)粒度的运行时状态进行进一步分析。
由于作业的分布式特性使得各种遥测指标分散、信息不统一,导致数据团队被迫从各种不同的系统和工具中拼凑信息,例如 Spark UI 有作业级别的细节,它仅限于 Spark。但没有和 Task、Job 上下文连接起完整的数据管道视图,使得运维人员在对作业运行时进行分析时,没有统一的抓手。
SimbaSchema 提供的作业诊断模型,通过采集数据加工过程的遥测指标,对 Hive 和 Spark 分布式作业进行 TASK 长尾、数据倾斜、CPU 浪费、内存利用率过低、耗时异常等场景的启发式检测和诊断,进一步分析单作业对调度的影响情况,为优化单作业运行和整体调度提供数据支撑和依据。
三、全面观测实现
SimbaSchema 基于研发、存储、计算、质量和安全层面的全链路业务进行一一映射,模型及指标体系对系统状态进行全面可观测和分析。
如运维巡检模型面向整体系统的巡检工作,映射 DataSimba 的运行服务主机、中间件、和大数据组件服务;数据研发风控模型和血缘治理模型是对日常 ETL 的变更的风险进行观测,映射数据集成、作业和任务开发以及数据运维流程等。
数据云平台 SimbaSchema 可提供 11 个数据模型,如下:· 数据研发风控治理模型· 血缘治理模型
· 存储分析模型
· 安全审计模型
· 数据服务调用分析模型
· 运维巡检模型
· 基线预测模型
· 任务时间异常智能检测模型
· 调度窗口分析模型· Job 诊断模型· HDFS 健康分模型
同时,SimbaSchema 作为平台 Infomation Schema 可观测性事实标准,提供对 DataSimba 基础数据和历史数据的全面查询,包括:库、表、字段、作业、血缘、数据服务等对象信息,实现面向数据运维和数据开发角色对全平台行为的自定义分析。
版权声明: 本文为 InfoQ 作者【奇点云】的原创文章。
原文链接:【http://xie.infoq.cn/article/392c85bbcd5b06f54b4fd04dd】。文章转载请联系作者。
评论