010 云原生之可观测架构模式
可观测性(Observability)主要是指了解程序内部运行情况的能力。主要涉及三个部分:日志(logging)、度量(Metrics)和追踪(Tracing)。
需要为日志设置不同的级别,如 debug、error、info 等,在开发、测试、生产等不同环境下开启不同的日志级别,并保证在系统运行时能够实时调控这些日志级别。
度量不仅包括 CPU 负载、内存使用量等技术指标的度量,还包括非常多的业务度量(Business Metrics),如每分钟的交易额、每分钟会员登录数等。
虽然日志可以计算出一些数据,如订单数、订单金额等,但这里需要考虑数据分析的成本和实时性,以更好地实现计算资源、存储节约和快速查询等。而度量统计的是窗口期的数据,所以不需要再次计算,从而节约了计算资源;同时也不需要保存窗口期中每一条具体的数据,因此可以节约存储资源;从用户角度来说,由于数据经过了窗口期的预处理,因此查询响应的速度也会更快。
典型的度量指标主要由以下 5 个部分组成:名称、时间点、数字值、类型、标签。
追踪系统的基本元素:traceId 用来标识一个追踪链,如一个 64 位或 128 位长度的字符串。不同追踪链的 traceId 不同。但在某一个追踪链中,traceId 始终保持不变。traceId 通常在请求的入口处生成。
spanId 用于在一个追踪链中记录一个跨时间段的操作。在一个区间(span)中,ID 的作用是便于识别。ID 通常是一个 64 位的 long 型数值,名称的作用是便于用户了解是什么操作,起始时间和结束时间的作用是便于了解操作时长。
为区间添加 parentId,将不同类别的区间归在一起。通常,我们在进入一个应用时会进行 parentId 的设置。
版权声明: 本文为 InfoQ 作者【穿过生命散发芬芳】的原创文章。
原文链接:【http://xie.infoq.cn/article/91962bdb6109ebcb7e693aff1】。文章转载请联系作者。
评论