问题排查不再愁,Nacos 上线推送轨迹功能

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
性能测试 PTS,5000VUM额度
简介: 微服务体系下,注册中心的调用和配置变更是家常便饭,例如阿里每天就有百万级变更、亿级推送。可是,一旦出现调用或配置异常,问题排查就成了用户最大的困惑:是注册和配置中心导致的,还是上下游业务自身的问题呢?

作者:严达


背景


注册配置千千万,唯有推送轨迹最解愁。


微服务体系下,注册中心的调用和配置变更是家常便饭,例如阿里每天就有百万级变更、亿级推送。可是,一旦出现调用或配置异常,问题排查就成了用户最大的困惑:是注册和配置中心导致的,还是上下游业务自身的问题呢?


1.png

微服务体系下用户排查问题时的困惑


因此,长时间以来,用户对注册和配置中心推送功能的可观测性,有了越来越强烈的需求。

业内现有的开源方案


当前,业内其他主流的开源注册或配置中心,例如 Zookeeper、Eureka、Consul、Apollo 在核心功能推送情况上,仅提供了一些散落的日志,并没有查询推送成功与否的能力。一旦出现调用或配置异常,只能通过手动登录到注册和配置中心的节点上,以较为原始的日志方式来查寻推送相关的信息。如果用户对注册和配置中心的源码及日志内容的具体情况不了解,则会使问题排查的难度大大增加。


基于上述背景,Nacos 在业内首次推出注册和配置中心的推送轨迹功能。

推送轨迹功能介绍


推送轨迹,是指 Nacos 服务或配置从 server 端到 client 端的一次推送链路上的相关信息展示。推送轨迹可以让用户非常方便的查询到:


  • 注册中心服务推送的信息
  • 配置中心的配置变更发布和推送的信息


从而非常清晰地观测到 Nacos 推送功能的履约情况,极大的提高问题的排查效率。


注册中心推送轨迹


注册中心的推送轨迹,可以用来排查服务推送的相关问题,例如:


  • 客户端未收到服务推送
  • 服务间调用出现异常
  • 注册中心是否正常将服务推送到客户端


2.png

MSE - Nacos 注册中心推送轨迹查询页面


MSE - Nacos 注册中心推送轨迹,详细展示了注册中心服务推送的记录信息。其中,推送时间字段是本次推送事件发生的时间,推送客户端 IP 字段是本次推送所送达的客户端 IP 地址,推送服务名称是本次推送的服务名称,推送服务分组是本次推送服务的所属分组名称,服务实例数量是只本次推送服务中所包含的实例 IP 数量,节点名称是产生本次推送的 Naocs 节点名称。


同时,MSE - Nacos  注册中心推送轨迹也支持服务与 IP 多维度的查询。


配置中心推送轨迹


配置中心的推送轨迹,可以用来排查配置中心配置变更和发布的相关问题,例如:


  • 配置发布异常
  • 配置修改完发现某台机器不生效
  • 需要查看配置中心变更及推送事件


  • 配置维度查询


可以查询和该配置相关的变更事件以及对客户单端 IP 的推送记录。


3.png

MSE - Nacos 配置中心推送轨迹配置维度查询页面


MSE - Nacos 配置中心推送轨迹详细展示了配置中心配置变更的记录信息。在推送轨迹页面左侧,展示当前时间段内的配置变更事件 ,点击左侧变更流水可以定位到右侧的变更及推送事件记录。页面右侧,展示当前时间段内的配置变更及推送事件,变更事件中显示本次变更内容的 MD5 值,推送事件中展现推送发生事件,推送到的客户端 IP。鼠标上移推送详情图标可以查看本地推送中,客户端获取到的配置内容 MD5。


  • IP 维度查询


可以根据 IP 查询所有和该 IP 地址相关的推送轨迹 。


4.png

配置中心推送轨迹 IP 维度查询页面


在推送轨迹 IP 查询维度页面,展示该 IP 地址相关的推送轨迹 。变更时间表示本次配置变更所发生的时间,变更时间表示本次配置变更事件类型,DataId 表示该配置变更事件的配置 DataId,Group 表示该配置变更事件的配置所属分组,点击详情列信息按钮可以看到详情图标可以看到本次变更事件详细信息,点击详情列跳转按钮可以切换到配置维度查询的入口查询当前配置在该时间点的推送事件。


推送轨迹最佳实践


注册中心推送轨迹


  1. 登录 MSE 管理控制台。
  2. 在顶部菜单栏选择地域。
  3. 在左侧菜单栏选择注册配置中心 > 实例列表。单击目标实例名称或操作列下方的管理。
  4. 在左侧边栏基础信息页面选择服务管理 > 推送轨迹,进入推送轨迹功能页面。
  5. 或者在左侧边栏基础信息页面选择服务管理 > 服务列表,在每条服务信息的右侧点击推送轨迹按钮,进入推送轨迹功能页面。
  6. 进入推送轨迹功能页面后,单击查询维度下拉框选择查询维度:服务,在左上角服务名称输入框输入待查询服务的名称,在分组名称输入框输入服务所属的分组,然后再右上角时间控件中选择要查询的时间范围,最后点击查询按钮。


在查询维度下拉框内,也可以选择查询维度:IP,则表示查询该客户端收到的全部推送信息。


配置中心推送轨迹


  1. 登录 MSE 管理控制台。
  2. 在顶部菜单栏选择地域。
  3. 在左侧菜单栏选择注册配置中心 > 实例列表。单击目标实例名称或操作列下方的管理。
  4. 在基础信息页面选择配置管理 > 推送轨迹。单击查询维度下拉框选择查询维度:配置,然后在 Data ID 输入待查询配置的数据 ID,在 Group 输入配置所属的分组,最后单击搜索图标进行搜索。


推送轨迹只是第一步,后续,MSE - Nacos 还将提供全新的自诊系统,包括事件统计、健康审计等功能,帮助用户更加全面的获取注册和配置中心运行时上更多的业务功能状态数据信息,降低注册和配置中心的问题排查难度、提升可用性。


钉钉扫码加入 Nacos 社区群


6.jpeg


相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
6月前
|
Dubbo 关系型数据库 MySQL
nacos常见问题之命名空间配置数据上线修改如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
318 1
|
6月前
|
Kubernetes Java Nacos
nacos常见问题之通过helm方式部署设置开启授权认证功能如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
429 0
|
6天前
|
数据管理 Nacos 开发者
"Nacos架构深度解析:一篇文章带你掌握业务层四大核心功能,服务注册、配置管理、元数据与健康检查一网打尽!"
【10月更文挑战第23天】Nacos 是一个用于服务注册发现和配置管理的平台,支持动态服务发现、配置管理、元数据管理和健康检查。其业务层包括服务注册与发现、配置管理、元数据管理和健康检查四大核心功能。通过示例代码展示了如何在业务层中使用Nacos,帮助开发者构建高可用、动态扩展的微服务生态系统。
28 0
|
3月前
|
缓存 Cloud Native Java
【紧急救援】Nacos配置上线后失效?手把手教你如何轻松搞定命名空间修改难题!
【8月更文挑战第15天】Nacos是关键的云原生服务管理平台,用于动态服务发现与配置管理。但在使用其管理微服务配置时,可能会遇到命名空间内的配置更新后不生效的问题。本文探讨此问题并提供解决方案。首先需确认Nacos服务器运行正常及客户端正确连接。接着检查客户端缓存配置,可通过禁用缓存或缩短缓存间隔来即时更新配置。例如,在Spring Cloud Alibaba Nacos配置中心中启用自动刷新功能,并设置每5秒拉取新配置。同时,对于新增配置项,需重启客户端应用。还需检查Nacos服务器日志排除异常,并考虑升级Nacos版本解决兼容性问题。通过这些步骤,通常可有效解决配置不生效的难题。
170 0
|
4月前
|
负载均衡 Java Linux
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
|
6月前
|
Cloud Native Java Nacos
Nacos 1.4.1核心功能组件及使用入门
以上步骤提供了 Nacos 1.4.1 的基本使用概览,具体的配置和使用可能根据你的环境和需求有所不同。
192 6
|
Cloud Native Java Go
解决Nacos配置刷新问题: 如何启用配置刷新功能以及与`@RefreshScope`注解的关联问题
解决Nacos配置刷新问题: 如何启用配置刷新功能以及与`@RefreshScope`注解的关联问题
1144 0
|
6月前
|
关系型数据库 MySQL 数据库连接
只用了nacos配置功能,多个nacos server连同一个mysql数据库会有啥问题吗?
只用了nacos配置功能,多个nacos server连同一个mysql数据库会有啥问题吗?
346 6
|
Java Nacos Spring
使用Spring Boot的Profile功能来实现不同环境使用不同的Nacos Namespace的配置
使用Spring Boot的Profile功能来实现不同环境使用不同的Nacos Namespace的配置
560 1
|
SpringCloudAlibaba 网络协议 Cloud Native
springCloudAlibaba组件-Nacos-功能概述与配置(一)
springCloudAlibaba组件-Nacos-功能概述与配置(一)