在应用发布上线的时候咱们最担忧的莫过于由于代码的bug引起业务的问题,虽然咱们能够经过灰度的方式分批发布减少影响范围,可是若是可以在发布的过程当中从实时监控中快速的发现问题进行回滚,那么就能缩短业务受影响的时间。所以咱们能够看到灰度、监控、回滚是整个发布过程当中不可或缺的三大利器,有了这三大利器后,咱们可以作到随时发布,从而加快业务的迭代和上线速度。而监控做为基础设施的一个重要环节,是保障生产环境服务稳定不可或缺的一部分,目前EDAS提供了很是丰富的监控能力,下面咱们从不一样的场景来详细介绍一下这些监控能力。html
监控体系,最怕的就是有覆盖不到的地方,一个覆盖全面的监控应该是从基础设施到上层应用均有对应的手段去覆盖:运维
如上图所示,目前 EDAS 结合阿里云上的某些云产品,彻底可以知足平常的运维的须要并帮忙业务开发的同窗快速的定位线上问题。分布式
应用实例的基础监控信息:工具
上图功能提供了以应用实例的维度来查看每一个实例的监控信息,提供的JVM/CPU/Load/内存等的监控信息也是咱们常常须要关注的,当发现内存占用高,而且有频繁的FullGCC的状况时,咱们能够经过建立内存快照进行分析来快速定位问题。SQL分析的能力也能快速帮助咱们定位到慢查询用来排查问题。性能
应用服务接口监控信息:阿里云
这里提供了以接口维度的监控信息,能够详细的看到接口在最近一段时间的请求信息,这里重点介绍一下接口快照功能,经过接口快照咱们能够看到该接口的请求耗时,以及请求的TraceId,根据这个TraceId咱们能够详细的看到本次请求的调用链以及调用的方法栈。spa
这里提供了以接口维度的监控信息,能够详细的看到接口在最近一段时间的请求信息,这里重点介绍一下接口快照功能,经过接口快照咱们能够看到该接口的请求耗时,以及请求的TraceId,根据这个TraceId咱们能够详细的看到本次请求的调用链以及调用的方法栈。 日志
调用链路的追踪在分布式系统下是一个必不可少的工具,尤为是在排查上下游依赖中到底是哪一个系统拖慢了整个请求很是有用,在调用的方法栈中能够直观的追踪到调用出错的地方。cdn
在EDAS中咱们支持应用自定义业务监控,这须要咱们开启高级监控的能力。从业务的视角来衡量应用的性能和稳定性,能够经过自定义来采集业务信息,来实时展示业务指标,帮助业务进一步完善监控信息。详细的监控配置能够参考ARMS业务监控。htm
监控产品的历史由来已久,可是随着云原生技术的持续火热,Prometheus 做为新生代的开源监控系统,慢慢成为了云原生体系的事实标准。而在EDAS中的高级监控产品ARMS已经全面对接开源Prometheus生态,支持类型丰富的组件监控,提供多种开箱即用的预置监控大盘,且提供全面托管的Prometheus服务,更多的详细内容能够参考ARMS Prometheus
经过以上这些监控能力,能够大大缩短线上问题从发现到定位再到解决的时间,提升开发和运维人员排查和解决问题的效率。
以阿里巴巴集团的经验举例子,超一半以上的大故障都是在发布过程当中产生,EDAS 针对发布这一场景结合 Kubernetes 的能力作告终合,其中的精髓内容总结三个词:先发、再看、再发。通俗的解释就是能够利用 EDAS 中分批(灰度)发布能力,同时在发布视图中,确保相关的指标回归正常以后,再开始下一批发布了。
目前EDAS可以提供在三个维度上的指标监控数据,用来判断发布是否正常,列举以下:
目前EDAS以接口的维度提供了每一个接口在发布先后的总的请求数对比以及请求该比例的图例,而且还可以详细的看到在发布先后该接口的错误数、响应时间以及单机的请求数对比,以下图所示:
经过上图,咱们能够直观的看到,当咱们发布后应用的接口请求是否正常,以此来判断是否会对业务产生影响。
在发布的过程当中,咱们也须要时刻的关注在发布中是否是有新的异常产生,咱们想要有地方可以看到异常信息,避免直接登陆到机器上去看业务日志,咱们的发布监控提供了日志聚合分析的能力,能够在发布的过程提供实时的异常日志分析展现,以下图因此:
在新的业务功能上线的时候,咱们除了对业务自己的一些异常和指标进行关注外,还须要关注系统的指标,这关系到咱们须要评估现有的机器是否可以支撑咱们的全部流量,是否须要进行水平扩容来更好的支持业务,咱们的发布监控系统一样集成了系统的监控的能力,为咱们的发布过程来保驾护航,详细的监控以下图所示:
以上内容咱们经过三个维度为你们展现了在整个发布的过程当中EDAS为咱们提供的完备的监控能力,经过这个能力可让咱们的每一次发布都能作到镇定自若,心中有数,每一次发布都能平滑让业务进行升级。同时咱们也提供了查看发布报告的功能,将发布监控信息造成了一份清晰的可视化分析报告供分享他人。
本章咱们介绍了EDAS中提供的监控能力以及如何对EDAS Kubernetes集群上的Spring Cloud应用在发布的过程当中如何看监控发现异常信息,可是若是出现异常了该怎么办呢?接下来的文章咱们将继续介绍,当出现问题后咱们如何对已经发布的应用进行快速的回滚。
本文为阿里云原创内容,未经容许不得转载。