观测性建设方面通用的三大支柱包括日志事件(Logging),链路追踪(Tracing)以及度量指标监控(Metrics),这也是监控系统技术栈的各个组成部分。
可观测性和监控的区别
可观测性是一件持久性的工作,监控是其中的关键部分。监控能够了解系统是否在正常运行,而可观测性能够知道系统没有正常运行的原因。
监控并不仅对问题进行提前准备和响应,还可以使用监控系统收集的度量指标来预测系统未来的表现或者为业务分析提供数据。
监控和可观测性都需要考虑分层,从架构分层上考虑执行情况。监控系统应该能知道哪部分系统出现了问题或者服务质量出现下降以及相应的原因。
拥有一套合适的监控基础设施意味着可以衡量系统的性能并保留这些测量数据的历史记录。同时,这还意味着可以为测量数据确定阈值并在其超过阈值后自动发送通知。
不过,有一件事是需要记住的,那就是系统很容易达到信息过多告警泛滥的状态。最终,信息过载所造成的危害要远大于它的好处(如果情况进一步恶化,人们会开始忽略重复出现的告警)。因此,需要确保所发出的告警是可执行的,是会被处理掉的,并且这些告警要发给组织中正确的人员。
日志事件和链路跟踪
日志提供了一种书面记录,记录了每个进入系统的请求的历史信息,而链路追踪则提供了为每个请求建立一条时间线的方式,这样就能够了解该请求在不同服务上所花费的时间了。
摘取自 摩根·布鲁斯和保罗·A.佩雷拉的《微服务实战》
网友评论