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

news2025/8/12 7:42:35

作者:涌月

背景

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

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

在这里插入图片描述

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

Nacos 可观测能力概述

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

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

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

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

在这里插入图片描述

Nacos 的可观测性的设计思路

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

可观测能力详情

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

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

业务概览

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

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

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

在这里插入图片描述

资源监控

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

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

在这里插入图片描述

JVM 监控

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

在这里插入图片描述

注册中心监控

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

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

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

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

在这里插入图片描述

配置中心监控

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

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

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

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

在这里插入图片描述

推送监控

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

在这里插入图片描述

连接数

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

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

在这里插入图片描述

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

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

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

在这里插入图片描述

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

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 按钮,来校验各项指标的历史数据。

在这里插入图片描述

在这里插入图片描述

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

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

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

在这里插入图片描述

变更最频繁的 TopN 个配置

在这里插入图片描述

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

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

点击此处,即享优惠!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/15181.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

灰鸽子木马特征值免杀

文章目录木马特征值免杀一. 木马特征值免杀0x01. 灰鸽子配置生成木马0x02. 使用MyCCL复合特征码定位器反复缩小目标进行定位0x03. 直到定位到很小的区间0x04. 用工具将文件偏移地址0009B9C3转换成内存地址0049C5C30x05. 使用OD跳转特征值语句的执行顺序以实现免杀0x06. 将修改后…

【深入浅出Spring6】第五期——循环依赖和反射机制

一、Bean的循环依赖问题 什么是循环依赖? 类似于A依赖B,B又依赖A,这样就构成了依赖闭环 需求:我们创建两个类,彼此内置对方为私有属性,我们查看是否可以正常输出 $ singleton setter产生的循环依赖 编写我…

(八)Bean的生命周期

文章目录环境什么是Bean的生命周期为什么要知道Bean的生命周期Bean生命周期之5步Bean生命周期之7步Bean生命周期之10步三个点位详解:点位1点位2点位3演示程序Bean的作用域不同,管理方式不同自己new的对象如何让Spring管理上一篇:(…

UE4 回合游戏项目 20- 添加人物被攻击的动画

在上一节(UE4 回合游戏项目 19- 添加血量UI)基础上继续添加人物被攻击时播放被攻击动画的功能。 效果:(当玩家被攻击时,播放相应的受到伤害的动画) 步骤: 1.打开“1lantu”,在事件图…

艾美捷试剂级SM-102解决方案

LNP是一种多组分系统,通常由可电离脂质或阳离子类脂质化合物、辅助脂质、胆固醇、保护剂聚乙二醇-脂质共轭物组成。 脂质纳米颗粒(LNP)是mRNA药物常用的载体。目前,BioNTech/辉瑞和 Moderna的mRNA疫苗都采用LNP作为运输载体&#…

SpringMVC ---- RESTful

SpringMVC ---- RESTful1. RESTful简介a>资源b>资源c>资源2. RESTful的实现3. HiddenHttpMethodFilter1. RESTful简介 REST:Representational State Transfer,表示层资源状态转移。 a>资源 资源是一种看待服务器的方式,即&…

ECM:敏感文档控制的秘密武器

ECM:敏感文档控制的秘密武器 您的企业每天都会创建和处理数百个文档。这些文件详细说明了企业流程、产品规格,并为其他员工和客户提供指导。 每天都有大量文档流入和流出您的组织,有一件事始终保持不变:那就是组织内部和外部的…

Docker零基础快速入门(通俗易懂)

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 Docker一、安装Docker二、配置镜像加速器三、Docker服务命令四、Docker镜像命令五、Docker容器命令六、Docker容器数据卷七、Docker部署应用…

view的context一定是Activity吗

最近在使用glide加载图片的时候出现“Caused by: java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity”,但明明在使用glide之前已经进行了Activity是否destroy的判断,为什么还会发生这个crash呢?注意到A…

【快速上手系列】使用idea调百度AI接口实现内容审核(鉴黄)功能

【快速上手系列】使用idea调百度AI接口实现内容审核(鉴黄)功能 一、文本审核 步骤 1、百度AI开放平台 登录后点击控制台 点击应用列表——点击创建应用 填写一下信息然后创建 也可以配置审核策略 策略配置页面 然后回到概览——领取免费资源&#xf…

threeJS嵌入可交互的普通页面

效果图:1.这是我将一个地图当作地面,外面再包一个天空盒就更好看了 2.上面的例子可能不够直观,下面这个例子是嵌入的bilibili官网,嵌入的网页内容可以正常交互 关键 关键是用到了CSS3DRenderer渲染器。CSS3DRenderer仅仅关注普通的DOM元素&a…

【计算机网络】无线局域网详解

文章目录无线局域网IEEE802.11IEEE802.11的MAC帧头有固定基础设施的无线局域网无固定基础设施无线局域网的自组织网络VLAN传统局域网的局限VLAN虚拟局域网基本概念virtual local area networkVLAN 实现🍃博主昵称:一拳必胜客 🌸博主寄语&…

数据增强方法汇总

数据增强1.有监督数据增强1.1 单样本数据增强augly安装augly使用方法1.2 多样本数据增强1.2.1 SMOTEpython实现1.2.2 SamplePairingpython实现1.2.3 mixuppython实现2.无监督数据增强2.1 GAN2.2 Diffunsion2.3 Autoaugmentation1.有监督数据增强 1.1 单样本数据增强 augly安装…

MongoDB(4.0.9)数据从win迁移到linux

服务器从win迁移导了linux上了,对应的md里面的数据也需要做全量迁移,在网上找了一大堆方案,不是缺胳膊就是少腿,没有一个是完整的,最终加以分析和整理,得出这套方案,希望对你有用 第一步&#…

Java集合框架【二容器(Collection)[Vector容器类]】

文章目录三 Vector容器类3.5 Vector容器类3.5.1 Vector的使用3.5.2 Stack容器3.5.3.1 Stack容器介绍3.5.3.2 操作栈方法Stack的使用案例三 Vector容器类 3.5 Vector容器类 Vector底层是用数组实现的,相关的方法都加了同步检查,因此“线程安全&#xff…

D. Divide and Sum(组合数学)

Problem - 1445D - Codeforces 题意: 给你一个长度为2n的数组a。考虑将数组a划分为两个子序列p和q,每个子序列的长度为n(数组a的每个元素应该正好在一个子序列中:要么在p中,要么在q中)。 让我们以非递减顺序对p进行排…

matplotlib笔记

一、安装matplotlib总是超时导致失败 鉴于公司内网服务器上直接pip install matplotlib容易超时退出的问题,可以采用下面的方法解决: 方法一:指定更新源 pip install -i Simple Index matplotlib3.2.2 注意选择3.2.2,因为最新版本…

AP22615AWU-7、SLG5NT1758V配电开关 驱动器 IC资料

AP22615配电开关具有输出过压保护 (OVP) 功能,设计用于USB和其他热插拔应用。该器件提供输出过压保护,可保护这些应用的系统。具有输出过压保护、反向电流阻断、过流、过热和短路保护功能。其他功能包括受控上升时间和欠压锁定功能。 AP22615具有可调限…

【Java篇】备战面试——你真的了解“基本数据类型”吗?

目录 基本介绍: 整数类型 浮点类型 布尔类型和char类型 自动类型转换 数据类型转换必须满足如下规则: 基本介绍: Java是一门强类型语言,这就意味着必须为每一个变量声明一种类型。Java为我们提供了八种基本类…

[附源码]计算机毕业设计JAVA归元种子销售管理系统

[附源码]计算机毕业设计JAVA归元种子销售管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM my…