可观测性实现生产环境下的研发运维协同

166 阅读6分钟

随着微服务和云原生的进一步普及,生产环境运行着越来越多的云原生应用。对于企业来说,新的技术带来了效率和成本的优势,但又不得不面对新的技术产生的复杂性问题。在生产环境中,运维人员需要保障系统的稳定性和可靠性,同时开发人员需要不断地推出新功能和修复问题。因此,如何实现生产环境的运维和研发的协同成为了一个重要的话题。本文将从可观测性的角度来探讨如何实现生产环境的运维和研发协同。

可观测性对于生产环境的价值

可观测性是指在系统中收集和分析数据以了解系统的行为和状态的能力。可观测性并不是一个新生物,而是一种观念的创新。相对于传统的监控而言,可观测性是站在系统的角度去探索系统应该如何恰当地展现自己的状态,而监控则是站在局外人的角度去审视系统的运行情况。

在生产环境中,可观测性可以帮助运维人员了解系统的运行情况,及时发现问题并进行处理。同时,可观测性也可以帮助研发人员了解系统的瓶颈和性能问题,进而提高系统的可靠性和性能。因此,引入可观测性是实现生产环境运维和研发协同的一个重要步骤。

可观测性实现研发运维协同的实践

构建业务的全面可观测性平台

对于服务于生产环境的可观测性平台,必须具备完整的业务可观测性能力。从实际的业务系统出发,能够覆盖多种多样的客户端,例如 Web、小程序、Android、iOS 等。服务端支持多种语言,并尽量减少接入的门槛,对业务的影响降到最低。其次,对于中间件、系统以及各种云服务的支持,都要做到全面覆盖。只有这样的可观测性平台才能具备生产环境下运维和研发协同使用的前提。

构建统一日志分析平台

在生产环境中,运维和开发人员都要依赖大量的日志来跟踪分析系统运行的情况,但实际上应用产生的日志,包括业务本身的日志、业务依赖中间件的日志、系统日志、安全日志等等,这些日志基本上都是散落在不同的日志平台上,当生产环境系统出现故障的时候,研发和运维需要在这些不同的日志系统中提取有用的信息,这对于快速排查故障,造成了非常大的麻烦。如果能把这些日志集中管理,并提供集中检索功能和关联分析,不仅可以提供高诊断效率,同时对系统情况能有全面的了解,可以避免事后救火的被动。

构建分布式追踪能力

分布式跟踪能力是一种用于跟踪分布式系统请求的方法。当系统内部的服务和组件数量增加时,分布式跟踪能力变得越来越重要。通过一个 trace_id 串联前后端所有服务,分布式追踪能力能够快速了解请求在系统中的流向和时间。此外,如果系统的请求日志也能够包括请求 trace_id,您就能够具备完整的分布式追踪能力。这样,运维人员可以快速掌握系统间的依赖关系,开发人员也能够快速识别系统瓶颈及性能问题。除了跟踪请求,分布式追踪能力还可以帮助了解系统中的错误和异常。使用分布式追踪工具来监视请求的响应时间、成功率、错误率等指标,以及系统中的资源使用情况。这些指标可以帮助运维和开发识别潜在的性能问题,并提供优化系统的线索。

构建异常跟踪能力

在生产环境中,不管是运维还是研发,都需要实时跟踪系统产生的异常。运维人员要及时发现系统异常并进行处理,他们可以利用可观测性平台来实时跟踪系统的健康状况,一旦出现异常,他们就需要立即采取措施来解决问题。而研发人员也需要实时跟踪系统异常,他们可以利用异常数据来进行问题分析和性能优化。通过对异常数据的分析,他们可以了解系统的运行状况,找到问题的根源并进行优化,从而提高系统的性能和可靠性。

构建扁平化的基础设施监控平台

在传统模式下,基础设施平台的问题都是由运维来保障。当系统出现故障时,运维人员会去排查基础设施相关的监控数据,排除基础设施问题后再把相关问题透传给研发人员。在生产环境下的故障定位处理时效要求非常高,而研发和运维对于基础设施监控数据的都有依赖,因此需要一种更加高效的方式来解决这个问题。利用可观测平台构建扁平化的基础设施监控平台,从系统本身出发,将依赖的基础设施,如主机、容器、数据库等全部集中起来,不管是研发还是运维人员,都能第一时间知悉基础设施的健康状况,从而对故障的真实情况快速做出判断。

总结

在生产环境中引入可观测性对于确保系统的稳定性、可靠性和性能至关重要。通过构建业务的全面可观测性平台、统一的日志分析平台、分布式追踪能力、异常跟踪能力、扁平化的基础设施监控平台等方法,运维和研发团队可以更有效地协同工作,识别和解决问题。使用这些方法,团队可以确保其系统平稳运行,用户获得良好体验。