摘要: 微服务架构下,各种服务之间存在着错综复杂的依赖关系。一旦业务出现问题,追查问题源头就比如大海捞针,没有头绪。但业务不等人,此时,在最短的时间内定位问题根源是开发和运维人员对微服务监控产品的核心诉求。 传统的监控产品提供了表格(table)、表单(form)和仪表盘(dashboard)三种展示形式,因其局限性,并没有法完整和直观的提供监控详情,以快速定位问题。前端
微服务架构下,各种服务之间存在着错综复杂的依赖关系。一旦业务出现问题,追查问题源头就比如大海捞针,没有头绪。但业务不等人,此时,在最短的时间内定位问题根源是开发和运维人员对微服务监控产品的核心诉求。前端框架
传统的监控产品提供了表格(table)、表单(form)和仪表盘(dashboard)三种展示形式,因其局限性,并没有法完整和直观的提供监控详情,以快速定位问题。阿里云性能监控 ARMS 新推出的全真3D拓扑功能给这个问题带来了完美的解决方案。ARMS 3D拓扑功能,创新地采用三维立体的方式展现系统中真实的架构层级和关系,利用ThreeJS的前端框架创建一个立体的监控空间,让用户一目了然地看到系统的结构与状态。架构
在传统的监控产品中,咱们最多见的界面就是表格、表单和仪表盘这三种,但这三种界面皆有其局限性。框架
由于这种界面形式上的限制,咱们经常不得不面对让人头昏眼花的大量表格,为了定位一个问题反复跳转,一不留神就迷失在茫茫数据中,想要理解数据之间的关系只能靠经验和记忆。运维
ARMS 经过使用全真3D的方式(简称 ARMS 3D拓扑)去展现系统的立体性,帮助用户快速理解和追踪系统节点中的关系。微服务
首先,咱们将系统从底到上抽象为 主机-应用-服务 这三个层级,这也是咱们在传统监控方式中关注最多的三层信息。在这三个层级上的模块分别表明系统中真实存在的主机(ECS/物理机)- 应用 - 服务。纵向的连线表明主机对应用的支持,以及服务在应用上的归属。性能
用户除了能够从全局视角看到本身的整个系统,也能够单独缩放和旋转某一层级,详细查看主机的集群和负载状况,应用之间的调用关系,以及服务的调用量、错误率等。下面咱们来一一介绍各层级展现的内容。阿里云
应用层展示内容有四个部分:spa
总的来讲,就是展现服务自身、服务被谁调用以及服务间的依赖关系。点击应用,会弹出右侧面板,应用的QPS、RT、ERROR的信息都在上面展现。同时,动态的连线关系让咱们更清楚地看到应用之间的调用关系,以及中间件组件对系统的支持,甚至底层、主机层每一个主机的健康状况。3d
服务层就是展现各个应用提供的服务详情信息,鼠标滑过就有服务名展现,颜色表示这个服务的响应时长超过阈值(可配置),须要关注。
主机层展示的是各个应用的主机详情,点击每一个主机能够看到主机的CPU、MEM、Load信息,超过阈值的指标会标记颜色。另外还会展示主机的静态信息,好比主机所隶属的机房、单元、主机名称、JVM、Tomcat版本信息等。
以往咱们从出错的服务到应用,再定位到具体的机器,可能须要十几回页面跳转,而在 ARMS 3D拓扑 的三维世界中,咱们在一个页面中就能够完成这些动做。三维世界的交互方式—拉近、拉远、转换视角和折叠展开,代替了页面的跳转。用户不管拉近到哪一个机器或应用,均可以快速的理解本身在系统中所处的位置以及和其余层级的关系,不会由于操做链路过长而迷失本身。
当前,ARMS 3D拓扑功能已经上线,用户只要成功接入ARMS的探针,就能以3D的方式去查看本身的系统状态,不须要额外的操做与费用。
ARMS 3D拓扑功能提供了一种全新的交互方式,扩充了和应用沟通的维度,实现了360度全方位诊断性能瓶颈和故障节点,以甄别故障出现时,哪些应用和哪些关联的主机出现了问题等,今后,应用离咱们如此之近。