云原生环境下的可观测性与指标监控
在云原生应用的复杂环境中,确保系统的稳定运行和高效性能是至关重要的。这涉及到多个方面,包括分布式追踪、可观测性、监控等。下面将详细介绍这些关键概念及其在 Kubernetes 环境中的应用。
分布式追踪
当用户请求出现高延迟,而系统各组件的指标看起来都正常时,传统的监控方式可能无法找出问题所在。这时,分布式追踪就派上用场了。通过追踪单个请求从用户连接打开到关闭的整个过程,可以了解请求在系统各阶段的延迟分布。
例如,在一个请求处理流程中,除了数据库环节,其他阶段处理请求的时间都正常,但数据库环节的处理时间比正常情况长了 100 倍。尽管数据库本身工作正常且指标无异常,但应用服务器在等待数据库请求完成时花费了很长时间。最终发现,问题出在应用服务器和数据库服务器之间的特定网络链路上存在过多的数据包丢失。
一些流行的分布式追踪工具包括 Zipkin、Jaeger 和 Lightstep。工程师 Masroor Hasan 写过一篇关于“在 Kubernetes 上使用 Jaeger 构建分布式追踪基础设施”的博客,介绍了如何在 Kubernetes 中使用 Jaeger 进行分布式追踪。OpenTracing 框架(CNCF 的一部分)旨在为分布式追踪提供一套标准的 API 和库。Pixie 则是另一个有趣的项目,它为 Kubernetes 应用添加了追踪和应用性能分析功能,还提供了丰富的查询语言,方便探索集群内部的运行情况。
可观测性
由于“监控”这个术语对不同的人有不同的含义,从传统的黑盒检查到指标、日志和追踪的组合,现在越来越普遍地使用“可观测性”这个术语来涵盖所有这些技术。系统的可观
超级会员免费看
订阅专栏 解锁全文
973

被折叠的 条评论
为什么被折叠?



