现代系统可观测性与OpenTelemetry的变革力量
1. 可观测性的背景与挑战
在当今的系统运维中,可观测性已成为至关重要的一环。可观测性始于对系统当前状态的监控,多年来我们在这方面取得了显著进展。起初,自定义监控并不容易实现,大多数指标并非特定于应用程序,而是由底层主机提供(如CPU、内存、网络等),若能生成和查询结构化日志,那已属幸运。
随着开源指标和日志框架的普及,以及大量用于收集、传输和查询数据的技术的出现,情况发生了巨大变化。我们能够轻松地对应用程序的关键方面进行监控,同时微服务架构的广泛采用导致日志量和指标基数呈爆炸式增长。
从单一遥测源、系统边界明确且故障模式相对已知的模型,转变为具有更多组件、每个组件都有自己的故障模式和相互依赖关系、各自产生独特遥测数据的架构,这使得系统运维的工作量和认知负担呈指数级增加。
面对这一问题,为每个已知故障模式进行监控和创建警报的团队开始意识到这种模式适得其反,尤其是在采用自愈和弹性最佳实践的分布式系统中。警报泛滥成为现实,对平均恢复时间(MTTRes)产生了严重影响,因为无操作价值的警报会干扰关键业务警报,使其可能被忽视。
幸运的是,服务级别协议(SLA)和服务级别目标(SLO)的采用,以及对影响这些目标的回归进行警报的关注,创建了更健康的事件响应工作流程,使团队能够专注于有意义的回归。然而,监控和存储的指标和应用程序日志的大量数据仍在不断增加。毕竟,在生产环境中调试服务的唯一方法是从遥测后端提出正确的问题,以获取识别事件根本原因所需的信息。存储的数据越多,能回答的问题就越多。
在大规模分布式系统中遵循特定模式时,我们可能会思考以下问题:
- 仪表板中的指标是
超级会员免费看
订阅专栏 解锁全文

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



