APO在一个页面整合关联可观测性数据的设计思路
· 阅读需 16 分钟
可观测性能力是系统在运行过程中,通过收集、关联和分析不同类型的数据,来理解和解释系统行为的能力。其目标不仅是发现问题,还要提供足够的信息来分析和解决这些问题,甚至在问题发生之前预见潜在的风险。
划重点:关联分析不同类型的数据,帮助用户理解和解释系统行为的能力是可观测性系统建设的关键目标。
可观测性数据不是简单将Trace、Metric、log,三者数据做在一个产品里面,三者仍然是割裂的数据。OpenTelemetry的出现给三者内在有机关联带来了更多可能性,如何关联这些数据并且呈现仍然有许多挑战。本文探讨APO团队对如何关联可观测性的设计思路,目标是能够在一个页面关 联微服务接口所有故障排查需要的相关数据,完成故障的定界定位。
思路一:简单关联独立展示(帮助用户减少了登录次数)
最容易想到的关联方式,就是将三者数据分为三个Tab显示,每个tab只负责展示自身的数据,数据之间仍然缺少关联和提示。
如果用户要做关联查询经常要完成这样的操作:
- 在Trace 页中筛选出Trace信息,确认该Trace可能有问题,然后拷贝该TraceID,相关的IP信息,servicename,podname等相关信息也拷贝出来用来查询指标(有时还需要打命令才能查询出pod所对应的node在哪,在虚拟机里面可能还需要在cmdb根据IP查出node的唯一标识)
- 在Log页中,如果log已经输出了TraceID,可以通过TraceID搜索到相关的日志,如果日志未输出TraceID,就比较难以查询到日志
- 在Metric页面,根据servciename、podname、ip信息、node唯一标识完成指标的查询