本文主要介绍微财在混合云中 DevOps 工具方面的研究和探索,介绍了一套自研的自动化性能监控工具 Prober 以及在微财内部使用效果,内容包含系统设计、方案成效以及部分代表性的问题解决等。希望通过本文的分享,为相关诉求的团队提供一定的思路参考。
1.何为 Prober
Prober 服务是好分期构建的企业云原生DevOps体系,打造研发运维管理一体化平台中的一个节点。
在好分期业务快速发展过程中,各个服务大多采用敏捷开发、快速迭代的方式,而代码可能会被部署在公有云、私有云或者混合云中。在这种场景下,从问题的发现到修改,再到最后部署,需要大量的时间成本。特别是在互联网金融行业,系统的平稳永远是每位技术人员关心的核心指标,但是很难保证服务一定不出问题。在出现问题的时候,如何快速恢复服务并解决问题尤为重要。以下场景也是我们在业务发展中遇到过的场景:
-
线上服务 cpu 突然暴增或者有抖动。
-
相同的代码在不同云环境中性能有较大差异。
-
上线代码后内存逐渐增加直到 OOM。
-
压测过程中排查系统瓶颈点并优化系统,整体时间周期长。
上述场景发生后,需要优先保证业务稳定,马上回滚。从业务角度来看,这是个比较好的解决方案,但是从技术角度来看,回滚后事故现场没有留存,想要排查问题需要逐一排查代码或者想办法复现,在这个流程中会耗费大量的时间成本。虽然通过 SpringBootAdmin 和 Arthas 都能够在一定程度上协助排查问题,但还是需要人工介入并进行相关操作,而 Arthas 的使用则是直接进入到了容器和 JVM 的内部,相关命令的权限问题不好控制。
那么,是否可以在不通过人为的介入下,对线上的问题进行提前感知,并能够在出现问题的情况下留存线上调用的堆栈信息,供开发人员解决问题使用呢?Prober 便是答案。
2.Prober 与现有监控服务的对比

在好分期业务快速发展,系统频繁发布,快速迭代过程中,技术人员需要对线上系统的各个指标负责,同时对问题的发生、深入排查、解决有严格时间要求。所以,我们需要一套更精准、更及时、更完善的自动化性能监控服务,提升在代码层面监控、预警、排查、解决这个过程的效率。
Prober 对于部署所需资源较低,自研的故障自动定位和故障堆栈持久化更是可以精准排查系统问题,完善产品质量。针对 CPU 的监控预警,则可以将各个系统所占用的 CPU 资源降至最低,极大的提高了 CPU 的利用率,还有其它指标的监控,如内存,指定方法监控
Prober:自动化性能监控技术在好分期的实践

本文介绍了好分期的Prober服务,一个企业云原生DevOps体系中的自动化性能监控工具,旨在解决敏捷开发和混合云环境下性能监控难题。Prober提供了CPU、内存等关键指标的精准监控,实现故障自动定位和堆栈持久化,提高问题排查效率。相较于现有监控服务,Prober资源需求低,具备自动化监控、预警和问题解决能力。
最低0.47元/天 解锁文章

2057

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



