为了让大家更好的了解全面可观测产品的能力,我们编写了一个《优维全面可观测产品能力分解》系列文章,深入介绍全新推出的七大可观测能力。目前,已连载了两篇,分别是:架构可观测变更可观测。下面内容为该系列文章的第三篇,主要分享应用服务可观测。

在微服务架构下,应用程序被拆分成许多小型服务,因此在保证应用程序的可靠性和性能方面,可观测性变得尤为重要。

1、用户痛点

随着近年来云原生概念和云原生架构设计的流行,越来越多的开发团队开始使用DevOps模式进行系统开发,并把大型系统拆解成一个个微小的服务模块,以便系统能更好地进行容器化部署。基于DevOps、微服务、容器化等云原生的能力,可以帮助业务团队快速、持续、可靠和规模化地交付系统,同时随着服务越拆越细,越拆越独立,运维难度以及系统的复杂度都成倍的提升,由此带来了前所未有的运维挑战,比如:

  • 微服务架构下,服务调用关系复杂;同时缺乏服务部署架构的实时画像,对服务的资源使用情况不清晰。

  • 排查问题难、性能瓶颈难发现。

  • 排查问题时无法还原真实的调用链路。

  • 性能数据上报成本高。

传统对于系统的监控,我们往往关注诸如CPU、内容、网络、应用接口的请求量、接口的响应量等,但对于微服务系统来说,并不能帮助我们掌握整体系统的运行情况。服务的可观测性即是要透明的知晓各个服务之间的调用关系、服务部署架构等的状态,进而解决预测系统运行过程中出现故障的问题。

优维「应用服务可观测」提供服务全景透视能力,清晰服务访问拓扑、上下游依赖、服务部署架构等,帮助用户在日常运维场景中高效分析和识别系统问题。

2、优维应用服务可观测能力

基于用户痛点的洞察,针对微服务架构下,复杂的服务调用关系和缺乏服务部署的实时画像,及对服务资源使用情况不清晰的问题,优维「应用服务可观测」提供服务全景透视能力,基于自动发现,立体展示服务调用关系和服务部署架构。

全景系统服务地图

其中,「应用服务可观测」通过提供系统级的服务调用地图,可视化的展示服务的调用情况。

立体服务观测

从服务地图识别关键服务,可进一步进阶到单个服务,通过水平面、垂直面、时间切片等方式真正立体化观测服务状态。

提供概览视图、部署架构、服务拨测、接口分析、上下游服务分析、告警等多维度辅助用户识别关键时间、关键接口、关键上下游服务、关键依赖资源。

用户可以通过服务部署架构图,可查看单个服务的部署架构,包含服务依赖的资源情况,以及相关资源的指标数据,从而进一步下钻观测基础设施资源状态。

针对服务的黄金指标,支持服务故障多维立体分析的能力,包含可查看服务级、实例级、接口级指标,以及通过提供高级对比、时间机器等多维对比能力,定位性能瓶颈和故障原因,解决排查问题难、性能瓶颈难发现的问题。

业务场景级别接口调用观测

基于业务场景,「应用服务可观测」提供接口级的服务调用链路,用户可基于业务诉求,观测核心关键的接口完整调用情况。

链路级别观测

此外,「应用服务可观测」还可追踪每次请求的完整调用链路,为故障定位提供详尽的数据支持,提供包括调用性能、调用信息、服务对比、基础设施对比、接口对比、事件、日志等支持用户全面排查故障/性能调优。

开放性与集成

针对性能数据上报成本高的问题,「应用服务可观测」兼容开源生态,支持多语言协议,通过封装skywalking、jaeger、日志、ebpf等多种数据接入方式,使接入配置更简单、更便捷。

3、应用服务可观测的场景价值

  1. 基于服务调用拓扑,定位故障服务:自动生成服务调用拓扑,并且可快速查看服务的告警状态和运行指标,快速定位异常的根源服务。

  2. 分析服务部署架构,观察依赖资源的异常情况:排查因资源不足、负载均衡等导致的性能问题。

  3. 服务性能治理:通过服务耗时分析,定位代码问题,提升服务运行性能。

  4. 服务故障的排查定位:快速定位异常的服务根源,辅助异常的快速修复,提升用户体验。

  5. 对服务性能指标展开服务节点、接口、时间等多位对比分析:基于节点、接口、时间段等多维度对比查看性能指标趋势,辅助判断服务故障原因。

  6. 查看具体Trace链路,进行故障排除:展示单词调用的实际情况,获得最详尽的调用数据。

  7. 封装多种数据接入方式:通过skywalking、jaeger、日志、ebpf等多种接入方式,便于服务数据的快速接入。