可观测性:理解服务行为
1. 可观测性概述
可观测性是系统的一个特性,它衡量的是仅通过观察系统的外部信号和特征,就能理解和推断其内部状态的程度。可观测性对于实施系统控制至关重要,因为它能让我们改变系统的运行时行为。
可观测性并非现成的解决方案,而是涉及系统的各个层面,需要结合应用程序检测、网络检测、信号收集基础设施、数据库,以及在不可预测事件发生时筛选大量数据以拼凑出全貌的方法。Istio 有助于实现可观测性的一部分:应用级网络检测。
1.1 可观测性与监控的区别
- 监控 :是收集指标、日志、跟踪等数据,将它们聚合,并与我们应密切关注的系统状态预定义标准进行匹配的实践。当某个指标超过阈值并可能趋向已知的不良状态时,我们会采取行动来修复系统。例如,运维团队可以收集特定数据库安装的磁盘使用信息,如果这些指标显示磁盘使用接近容量,就可以触发警报以采取添加更多磁盘存储等补救措施。
- 可观测性 :假定我们的系统具有高度的不可预测性,无法提前知晓所有可能的故障模式。因此,我们需要收集更多数据,甚至是高基数数据(如用户 ID、请求 ID、源 IP 等,整个数据集可能呈指数级增长),并使用工具快速探索和询问有关这些数据的问题。例如,特定用户(如用户 John Doe,用户 ID 为 400000021)尝试为购物车中的商品付款,在选择付款选项时经历了 10 秒的延迟。尽管所有预定义的指标阈值(磁盘使用、队列深度、机器健康状况等)可能都处于可接受水平,但 John Doe 对这种用户体验感到非常恼火。如果我们在设计时考虑了可观测性,就可以筛选多层服务,确定请求在系统
超级会员免费看
订阅专栏 解锁全文
4406

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



