调用链路上千条,如何观测 Nacos 的运行状态

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
云原生网关 MSE Higress,422元/月
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 在这种背景下,阿里云微服务引擎(MSE)推出了 Nacos 托管产品,大幅提升可观测性,降低排查问题成本,本文将全面介绍 Nacos 可观测性体系。

作者:涌月


背景


随着近年来微服务体系发展,微服务上下游链路的越来越复杂,在阿里云的线上实践场景中,我们发现使用微服务架构的公司的业务动辄会出现上千条调用链路,排查问题代价巨大。


在这种背景下,阿里云微服务引擎(MSE)推出了 Nacos 托管产品,大幅提升可观测性,降低排查问题成本,本文将全面介绍 Nacos 可观测性体系


1.png

微服务上下游错综复杂的调用关系


Nacos 可观测能力概述


观测性(Observability)是帮助微服务稳健运行的重要一环,是指系统可以由其外部输出推断其内部状态的程度。“我们的微服务系统是否还是正常的?”,“微服务上下游调用的体验是否符合预期?”,“我们如何提前主动发现微服务系统的风险?”。


如下图所示,让用户对微服务有更强把控力,我们在设计 Nacos 可观测性的时候,着重考虑了如下两点:


  • 监控内容方面:我们将服务发现系统、配置管理系统、底层的 JVM、操作系统等个核心系统的各项指标进行了提炼和展示; 


  • 交互设计方面:我们采用了业界主流的 Grafana 大盘作为默认的可观测性展示方案,并且支持了用户将我们提供的大盘链接嵌入自定义的运维平台、以及获取各项指标的详细数据的需求。 


2.png

Nacos 的可观测性的设计思路


在临近双十一之际,我们已将上述 Nacos 的增强可观测性体系全面上线


可观测能力详情


在 Nacos 的增强观测能力建设中,我们构建了 7 个表现力丰富的大盘,并且建设了相关的告警系统。另外,为了让用户能够方便地将微服务的大盘嵌入业务方的业务平台,我们还为用户们透出了可嵌入的 url 和详细采集数据。


7 个大盘分别为业务概览大盘、注册中心大盘、配置中心大盘、推送轨迹大盘、连接数大盘、JVM 监控大盘、资源大盘,它们的详细信息分别如下:


业务概览


为了让用户快速看到当前业务的核心指标,我们将阿里巴巴集团客户和云上客户们最关注的指标进行整理和设计,统一抽象成为了"概览"大盘。


在该大盘中,用户可以查看到如下信息:


  • 在概览区域,可查看引擎的节点数、配置数、服务提供者数、每秒查询数、每秒操作数和连接数等信息;
  • 当某项指标达到或者超出一般水位之后,相关的指标颜色会变成红色,以提醒用户尽快进行扩容或业务发布处理。
  • 在使用量水位区域,用户可以查看到相应指标的使用水位,超出阈值的指标也会变色提醒。 

3.png


资源监控


资源监控页签中,我们将注册与配置中心周边的各种资源使用情况全面而准确地展示给用户。我们主要选取了注册配置中心的入口流量、出口流量、内存使用率、CPU 使用率、磁盘使用百分比、磁盘读写量、节点个数和 Load 指标等数据。


在出现业务异常的时候,用户可以方便地定位到该注册与配置中心的系统内部的各种资源使用情况,找到是哪个指标导致了当前业务异常的产生。


4.png


JVM 监控


除此之外,用户可以单击 JVM 监控页签,查看 Young GC 时间和次数、Full GC 时间和次数以及堆内存使用率等数据。方便快速进行 GC 分析和问题定位。


5.png

注册中心监控


对于注册中心,MSE Nacos 也提供了专门的监控页面,主要监测指标包括:


  • 服务发现业务指标:服务数、服务提供者数、服务订阅者数;
  • 服务发现访问量指标:注册中心 TPS、QPS、写 RT、读 RT 等数据。 


用户可以方便地通过该监控进行各项指标的核对,例如当服务发现业务上出现推送或查询延迟,可以通过 RT 数据快速定位当前注册中心的相应时间;


在压测场景下,用户也可以通过该大盘进行服务发现压测量级的实时观测。


5.png


配置中心监控


对于配置中心,MSE Nacos 同样提供了专门的监控页面,主要监测指标包括:


  • 配置中心主要业务指标:配置数、配置监听者数;
  • 配置中心访问量指标:配置中心 TPS、QPS、写 RT、读 RT 等。 


在这个大盘下,用户可以进行各项配置管理核心指标的校验,例如当配置管理业务上出现推送配置不及时时,可以通过读写 RT 指标快速定位当前配置中心的相应时间;


另外,在压测场景下,用户也可以通过该大盘进行配置数、配置监听者数、TPS 等指标的实时观测。


7.png


推送监控


在推送监控页中,用户可以查看服务推送成功率、服务推送耗时、服务推送 TPS 和服务推空比例等数据;在出现推送失败问题时,可以快速通过该页面查看到当前注册中心的推送情况。


8.png

连接数


随着越来越多客户选择支持长连接的 Nacos-client 版本,客户端版本和长连接数量也成为注册与配置中心的重要观测指标。


用户单击连接数监控页签,可以方便地查看到客户端版本数量和长连接数量等数据。


9.png


支持用户侧将大盘嵌入自定义运维平台


为了满足用户们自建微服务运维平台、及时按照组织架构层级反馈底层组件运行情况的需求,我们在此次可观测性升级中,也支持了用户侧将大盘嵌入自定义运维平台。


用户可以点击下图中红框处:


10.png


将会转到其大盘对应的链接


https://g.console.aliyun.com/d/{user_id}-{monitor_id}-n-overview-v1/mse-nacos-overview?refresh=15s&kiosk=tv1&var-clusterId={cluster_id}&orgId={orgId}

其中,该 url 中{user_id}为用户的阿里云账号 id,{monitor_id}为该监控大盘的 id,{cluster_id}为该集群的 id。用户可以轻松地将此链接嵌入自定义的业务管控系统之中。


用户自行获取指标历史数据功能


用户可以通过点击图中所示的 Data 按钮,来校验各项指标的历史数据。


11.png


12.png


也可以将历史数据下载至本地进行数据分析。


对注册配置中心可观测性的未来规划


未来 MSE Nacos 将持续更多高阶监控指标配置、服务的变更次数、配置频繁变更次数统计、服务订阅/变更消息队列大小等,便于业务快速定位解决微服务中的问题。


13.png

变更最频繁的 TopN 个配置


14.png

变更最频繁的 TopN 个服务及服务订阅/变更消息队列大小监控


MSE 云原生网关、注册配置专业版预付费首购享 8 折,首购 1 年及以上享 7 折。


点击此处,即享优惠!

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
5月前
|
安全 Linux Nacos
使用Docker运行Nacos并安装cpolar内网穿透工具实现远程访问
使用Docker运行Nacos并安装cpolar内网穿透工具实现远程访问
190 0
|
5月前
|
Nacos Java Spring
nacos jar包运行问题之报错如何解决
Nacos是一个开源的、易于部署的动态服务发现、配置管理和服务管理平台,旨在帮助微服务架构下的应用进行快速配置更新和服务治理;在实际运用中,用户可能会遇到各种报错,本合集将常见的Nacos报错问题进行归纳和解答,以便使用者能够快速定位和解决这些问题。
nacos jar包运行问题之报错如何解决
|
2月前
|
Dubbo Java Nacos
【实战攻略】破解Dubbo+Nacos+Spring Boot 3 Native打包后运行异常的终极秘籍——从零开始彻底攻克那些让你头疼不已的技术难题!
【8月更文挑战第15天】Nacos作为微服务注册与配置中心受到欢迎,但使用Dubbo+Nacos+Spring Boot 3进行GraalVM native打包后常遇运行异常。本文剖析此问题及其解决策略:确认GraalVM版本兼容性;配置反射列表以支持必要类和方法;采用静态代理替代动态代理;检查并调整配置文件;禁用不支持的功能;利用日志和GraalVM诊断工具定位问题;根据诊断结果调整GraalVM配置。通过系统排查方法,能有效解决此类问题,确保服务稳定运行。
76 0
|
5月前
|
安全 Linux Nacos
如何在CentOS使用Docker运行Nacos容器并实现无公网IP远程访问UI界面
如何在CentOS使用Docker运行Nacos容器并实现无公网IP远程访问UI界面
|
5月前
|
Nacos 数据库 Docker
nacos常见问题之docker部署的seata,成功注册到nacos运行报错如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
670 2
|
5月前
|
SQL 监控 Java
nacos常见问题之dubbo+nacos+springboot3的native打包成功后运行出现异常如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
259 2
|
5月前
|
关系型数据库 MySQL Nacos
docker运行nacos
docker运行nacos
136 0
|
11月前
|
SQL Nacos 数据库
windows下运行nacos
windows下运行nacos
|
关系型数据库 MySQL Nacos
Nacos实战(19)-Nacos健康检查机制:保障你的服务稳定运行!
Nacos实战(19)-Nacos健康检查机制:保障你的服务稳定运行!
541 0
|
关系型数据库 MySQL 网络安全
Nacos运行一段时间后无法连接到MySQL
Nacos运行一段时间后无法连接到MySQL
398 1