问题排查不再愁,Nacos 上线推送轨迹功能
简介: 微服务体系下,注册中心的调用和配置变更是家常便饭,例如阿里每天就有百万级变更、亿级推送。可是,一旦出现调用或配置异常,问题排查就成了用户最大的困惑:是注册和配置中心导致的,还是上下游业务自身的问题呢?
作者:严达
背景
注册配置千千万,唯有推送轨迹最解愁。
微服务体系下,注册中心的调用和配置变更是家常便饭,例如阿里每天就有百万级变更、亿级推送。可是,一旦出现调用或配置异常,问题排查就成了用户最大的困惑:是注册和配置中心导致的,还是上下游业务自身的问题呢?
微服务体系下用户排查问题时的困惑
因此,长时间以来,用户对注册和配置中心推送功能的可观测性,有了越来越强烈的需求。
业内现有的开源方案
当前,业内其他主流的开源注册或配置中心,例如 Zookeeper、Eureka、Consul、Apollo 在核心功能推送情况上,仅提供了一些散落的日志,并没有查询推送成功与否的能力。一旦出现调用或配置异常,只能通过手动登录到注册和配置中心的节点上,以较为原始的日志方式来查寻推送相关的信息。如果用户对注册和配置中心的源码及日志内容的具体情况不了解,则会使问题排查的难度大大增加。
基于上述背景,Nacos 在业内首次推出注册和配置中心的推送轨迹功能。
推送轨迹功能介绍
推送轨迹,是指 Nacos 服务或配置从 server 端到 client 端的一次推送链路上的相关信息展示。推送轨迹可以让用户非常方便的查询到:
- 注册中心服务推送的信息
- 配置中心的配置变更发布和推送的信息
从而非常清晰地观测到 Nacos 推送功能的履约情况,极大的提高问题的排查效率。
注册中心推送轨迹
注册中心的推送轨迹,可以用来排查服务推送的相关问题,例如:
- 客户端未收到服务推送
- 服务间调用出现异常
- 注册中心是否正常将服务推送到客户端
MSE - Nacos 注册中心推送轨迹查询页面
MSE - Nacos 注册中心推送轨迹,详细展示了注册中心服务推送的记录信息。其中,推送时间字段是本次推送事件发生的时间,推送客户端 IP 字段是本次推送所送达的客户端 IP 地址,推送服务名称是本次推送的服务名称,推送服务分组是本次推送服务的所属分组名称,服务实例数量是只本次推送服务中所包含的实例 IP 数量,节点名称是产生本次推送的 Naocs 节点名称。
同时,MSE - Nacos 注册中心推送轨迹也支持服务与 IP 多维度的查询。
配置中心推送轨迹
配置中心的推送轨迹,可以用来排查配置中心配置变更和发布的相关问题,例如:
- 配置发布异常
- 配置修改完发现某台机器不生效
- 需要查看配置中心变更及推送事件
- 配置维度查询
可以查询和该配置相关的变更事件以及对客户单端 IP 的推送记录。
MSE - Nacos 配置中心推送轨迹配置维度查询页面
MSE - Nacos 配置中心推送轨迹详细展示了配置中心配置变更的记录信息。在推送轨迹页面左侧,展示当前时间段内的配置变更事件 ,点击左侧变更流水可以定位到右侧的变更及推送事件记录。页面右侧,展示当前时间段内的配置变更及推送事件,变更事件中显示本次变更内容的 MD5 值,推送事件中展现推送发生事件,推送到的客户端 IP。鼠标上移推送详情图标可以查看本地推送中,客户端获取到的配置内容 MD5。
- IP 维度查询
可以根据 IP 查询所有和该 IP 地址相关的推送轨迹 。
配置中心推送轨迹 IP 维度查询页面
在推送轨迹 IP 查询维度页面,展示该 IP 地址相关的推送轨迹 。变更时间表示本次配置变更所发生的时间,变更时间表示本次配置变更事件类型,DataId 表示该配置变更事件的配置 DataId,Group 表示该配置变更事件的配置所属分组,点击详情列信息按钮可以看到详情图标可以看到本次变更事件详细信息,点击详情列跳转按钮可以切换到配置维度查询的入口查询当前配置在该时间点的推送事件。
推送轨迹最佳实践
注册中心推送轨迹
- 登录 MSE 管理控制台。
- 在顶部菜单栏选择地域。
- 在左侧菜单栏选择注册配置中心 > 实例列表。单击目标实例名称或操作列下方的管理。
- 在左侧边栏基础信息页面选择服务管理 > 推送轨迹,进入推送轨迹功能页面。
- 或者在左侧边栏基础信息页面选择服务管理 > 服务列表,在每条服务信息的右侧点击推送轨迹按钮,进入推送轨迹功能页面。
- 进入推送轨迹功能页面后,单击查询维度下拉框选择查询维度:服务,在左上角服务名称输入框输入待查询服务的名称,在分组名称输入框输入服务所属的分组,然后再右上角时间控件中选择要查询的时间范围,最后点击查询按钮。
在查询维度下拉框内,也可以选择查询维度:IP,则表示查询该客户端收到的全部推送信息。
配置中心推送轨迹
- 登录 MSE 管理控制台。
- 在顶部菜单栏选择地域。
- 在左侧菜单栏选择注册配置中心 > 实例列表。单击目标实例名称或操作列下方的管理。
- 在基础信息页面选择配置管理 > 推送轨迹。单击查询维度下拉框选择查询维度:配置,然后在 Data ID 输入待查询配置的数据 ID,在 Group 输入配置所属的分组,最后单击搜索图标进行搜索。
推送轨迹只是第一步,后续,MSE - Nacos 还将提供全新的自诊系统,包括事件统计、健康审计等功能,帮助用户更加全面的获取注册和配置中心运行时上更多的业务功能状态数据信息,降低注册和配置中心的问题排查难度、提升可用性。
本文为阿里云原创内容,未经允许不得转载。
问题排查不再愁,Nacos 上线推送轨迹功能的更多相关文章
- Dubbo学习系列之十一(Dashboard+Nacos规则推送)
中国武术,门派林立,都是号称多少代的XXX传人,结果在面对现代武术时,经常被KO秒杀,为啥,光靠宣传和口号撑门面,终究是靠不住,必须得有真货 ,得经得住考验,所以不能只说Sentinel有多好,也得给 ...
- iPhone的Push(推送通知)功能原理浅析
第一部分:Push原理(以下绝大多数内容参考自.图片来自iPhone OS Reference Library)机制简介Push 的工作机制可以简单的概括为下图图中,Provider是指某个iPhon ...
- 拥抱HTTP2.0时代 - HTTP2.0实现服务器端推送Push功能
在当今的移动互联开发趋势中,nghttp2是一个很值得大家去关注的一个开源项目. 我们在nghttpx模块中实现了HTTP/2服务器推送功能,并且在我们的nghttp2.org网站中启用了该推送功能. ...
- EasyRTMP实现对接海康、大华等IPCamera SDK进行RTMP推送直播功能
本文转自EasyDarwin团队Kim的博客:http://blog.csdn.net/jinlong0603 Demo项目介绍 EasyRTMP Demo代码下载地址https://github.c ...
- 极光推送Jpush功能(具体参照官网说明文档,注意此文红色字体)
1.导入框架 2. //推送 #import "APService.h" - (BOOL)application:(UIApplication *)application didF ...
- 【二次开发jumpserver】——整合jumpserver与zabbix推送主机功能
jasset/forms.py "ip", "other_ip", "hostname", "port", " ...
- 极光API推送 (v3 版本)
Push API v3 这是 Push API 最近的版本. 相比于 API v2 版本,v3 版本的改进为: 完全基于 https,不再提供 http 访问: 使用 HTTP Basic Authe ...
- 我有 7种 实现web实时消息推送的方案,7种!
技术交流,公众号:程序员小富 大家好,我是小富- 我有一个朋友- 做了一个小破站,现在要实现一个站内信web消息推送的功能,对,就是下图这个小红点,一个很常用的功能. 不过他还没想好用什么方式做,这里 ...
- 7种实现web实时消息推送的方案
做了一个小破站,现在要实现一个站内信web消息推送的功能,对,就是下图这个小红点,一个很常用的功能. 不过他还没想好用什么方式做,这里我帮他整理了一下几种方案,并简单做了实现. 什么是消息推送(pus ...
- 推送 iOS 10
1:APNs通知与应用内消息对比 极光文档上面是这么写的 后来更直接的说法是: 2:下面是介绍app不同状态下面接受到通知调用的方法: // iOS 10 Support,这个是程序在前台接受到通知是 ...
随机推荐
- 基于python的json和cvs格式转换
一 概念 1 json: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Pr ...
- vivo统一接入网关VUA转发性能优化实践
作者:vivo 互联网服务器团队 - Qiu Xiangcun 本文将探讨如何通过使用Intel QuickAssist Technology(QAT)来优化VUA的HTTPS转发性能.我们将介绍如何 ...
- 踩坑经历-jenkins安装使用
最近在整理之前临时记的笔记,好久之前了,大概记录下. 按照教程安装jenkins,随机选了个不是最新版的docker版本,然后一路下一步,但是到安装推荐插件就没有全部安装成功,我接着走下去想进到&qu ...
- 寒武纪加速平台(MLU200系列) 摸鱼指南(三)--- 模型移植-分割网络实例
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- Performance Improvements in .NET 8 -- JIT部分翻译
相关视频 动态PGO 基准测试设置 在本文中,我包括微基准测试以突出讨论的各个方面.其中大部分基准测试都是使用BenchmarkDotNet v0.13.8实现的,除非另有说明,否则每个基准测试都有一 ...
- java基础 韩顺平老师的 面向对象(中级) 自己记的部分笔记
272,包基本介绍 包的三大作用 1,区分相同的类 2,当类很多时,可以很好的管理类 3,控制访问范围 包基本用法 package com.hspedu; 说明: 1,package 关键字, ...
- springboot 配置 OpenFeign 时报错:Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; Connection refused: no further information
报错内容如下: 2022-11-18 01:55:18.998 ERROR 22220 --- [nio-8086-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServl ...
- pycharm 常见易错的PEP8规范
PEP8规范 ( Python Enhancement Proposal ) PEP 8: E231 missing whitespace after ','这个意思是逗号后面要有一个空格 PEP 8 ...
- 开源鸿蒙(OpenHarmonyOS)代码下载及编译
开源鸿蒙的代码仓在码云上,可以通过以下命令下载源码并编译 本机安装虚拟机 如本地已经安装可以忽略此步 安装指导:https://thoughts.teambition.com/share/614c49 ...
- FFmpeg开发笔记(九)Linux交叉编译Android的x265库
<FFmpeg开发实战:从零基础到短视频上线>一书的"12.1.2 交叉编译Android需要的so库"介绍了如何在Windows环境交叉编译Android所需FF ...