可观测性与Istio服务网格深度解析
1. 遥测技术支柱
可观测性涵盖多种形式的数据,主要包括日志、跟踪和指标,它们就像可观测性的三根支柱,各自发挥着重要作用。
1.1 日志
日志为指标等数据提供额外的上下文信息,非常适合用于调试。然而,日志在性能方面成本较高,因为其数据量通常较大,需要大量的存储空间。即使是结构化日志,虽然避免了纯字符串日志操作的一些缺点,但仍然占用大量存储,并且查询和处理速度较慢。
为了优化日志管理,可采用以下最佳实践:
- 实施配额管理,限制日志的生成量。
- 动态调整日志生成速率,根据系统的实际情况灵活控制。
1.2 指标
与日志不同,指标具有恒定的开销,适合用于警报。指标和日志结合可以深入了解单个系统,但在分布式系统中,难以跟踪跨越多个系统的请求的整个生命周期。指标具有强大的功能,聚合后能提供有价值的见解,有助于识别已知的未知问题。此外,指标经过优化存储,压缩率高,能够实现长期保留,从而展示历史趋势。
1.3 跟踪
跟踪允许在请求通过各种服务进行处理时,对请求段(跨度)进行细致跟踪。不过,引入跟踪功能可能比较困难,因为应用程序使用的第三方库也需要进行检测。分布式跟踪成本较高,因此大多数服务网格跟踪系统采用各种采样形式,仅捕获部分观察到的跟踪数据。采样可以降低性能开销和存储成本,但会降低可见性。采样率需要根据跟踪捕获的频率进行平衡,通常以服务请求量的百分比表示。
1.4 跟踪采样算法
跟踪采样算法主要分为两类:基于头部的采样和基于尾部的采样。基于头部的一致采样(或前期采样)在跟踪开始
超级会员免费看
订阅专栏 解锁全文
719

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



