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基础数据和历史数据的全面查询,包括:库、表、字段、作业、血缘、数据服务等对象信息,实现面向数据运维和数据开发角色对全平台行为的自定义分析。