什么是云原生可观测性追踪技术?

云杉 世纪 | 2023-02-03

在云原生领域,云原生可观测性指从外部输出推断和衡量系统内部状态,描述系统中所发生情况的理解程度。常见的云原生可观测性的三大基础是监控指标(Metrics)、追踪(Tracing)和日志(Logging):

监控指标(Metrics): 监控指标的定义特征是可聚合的,是在一段时间内组成单个逻辑指标、计数器或直方图的原子。例如:传入的http请求的数量可以建模为一个计数器,其更新聚合为简单的加法。追踪(Tracing): 它定义特征是它处理请求范围内的信息,任何可以绑定到系统中单个事务对象的生命周期的数据或元数据。例如:发送到数据库的实际sql查询的文本。
日志(Logging): 日志的定义特征是它处理离散事件。例如:应用程序调试或错误消息通过一个可切割的文件发送到集群统一处理。

在这三个领域中,监控指标往往需要最少的资源来管理,因为从本质上来说,它们“压缩”得相当好;日志记录往往是压倒性的超过它所报告的生产流量。从数据量开销的量级来看,从监控(低)到日志(高),追踪技术tracing可能位于中间的某个地方。

当然,云原生可观测性的意义在于更好的服务于业务系统,在实践中的应用往往是贴合业务需要,对其分析抽象,可以看到几种可观测系统的功能和特性,例如,开源的prometheus项目最初只是作为一个监控系统启动的,随着时间的推移,它可能会向跟踪方向发展,从而进入请求范围(request-scope)内的监控,但很可能不会深入到日志空间。

总的来说,随着OpenTelemetry标准的落地,云原生可观测性追踪技术也在不断发展,在生产环境中也得到了广泛的应用,有力支持了大型分布式微服务系统的稳定性,性能,效率等各个方面。我们从一个百度工程师的视角出发,也能管中窥豹,一见可观测性的博大精深之妙。