随着可观测性的要求逐步提高,面向业务目标可度量SLO要求越来越高,如何整合云平台、云产品、日志、tracing等各种数据,不同数据进行统一汇聚、存储,进行关联分析和根因定位?
虽然在当前k8s云原生环境下,数据散落,但运行在k8s中的容器或者Pod里的一切行为都是通过内核系统调用来实现的,内核知道机器上所有进程中发生的所有事情,所以内核几乎是可观测性的最佳观测点。
近几年火起来的eBPF技术能订阅各种内核事件,如文件读写、网络流量等。所以我们可以利用eBPF将线程执行代码过程转换成内核事件的执行过程,然后和APM对接。APM的Trace本质上就是按照线程维度在执行的,而Trace是关联着业务请求的,所以所有业务操作信息都可以归类到某个线程,在每个时间段关联相关metric。最终可以实现将log、tracing等等不同数据以线程的视图关联分析展示,精准还原程序执行的过程,进行根因定位。
这一可观测性的设计谐云已经实现并开源,官网地址:http://kindling.harmonycloud.cn
收起SLO 服务水平目标,面向业务或者应用系统维度,对于不同的人或团队都可以有可以量化的指标来观测业务系统的运行状态,从SRE运维角度,系统中断次数、性能是否超过预测值、95延时是否过大都可以设置为SLO目标,从业务管理角度,业务预期是否达到,差值多少,完成多少DAU都可以做为SLO的一个体现。
因此从SLO要求来看,是对基础能力及数据的一个整合,关键是面向应用的可度量能力,以应用维度为视角进行纵向切入,链路追踪技术、日志采集、系统级监控、平台级监控,结合大数据分析与智能分析的能力,实现应用场景化指标展现、