写点什么

MSE 诊断利器上线

  • 2023-03-07
    浙江
  • 本文字数:1474 字

    阅读完需:约 5 分钟

作者:子葵

背景

在日常开发和生产环境中,可能会遇到由于网络或者其他因素导致客户端连接 MSE 集群出现异常,此时需要排查集群以及客户端状态,通常需要通过文档查询对应的异常解释来定位问题,排查问题的链路比较长,比较耗时。因此 MSE 提供了一键诊断工具,发现 client -> server 链路上的问题并提供建议,使得问题排查更加快捷。

轻松上手

在日常使用中可能会遇到 MSE 实例端口不通,客户端出现端口不可用的异常日志


1.png


此时我们就可以通过 mseutil 快速诊断网络问题。


  1. 通过文档下载对应平台的 mseutil 工具,工具是独立的二进制包可完全独立运行。之后通过 mse 实例详情页面获得 MSE 实例的 serverAddr


2.png


  1. 通过以下命令进行快速诊断:


mseutil {子产品名} inspect --serverAddr mse-xxxxx.aliyuncs.com
复制代码


诊断分为基础网络诊断以及 API 诊断,网络诊断会测试客户端环境和 MSE 实例之间的网络连接是否可达,端口是否可访问。API 诊断针对不同子产品的 API 进行测试,主要测试接口的可用性以及接口调用延时等信息。


mseutil zookeeper inspect --serverAddr mse-xxx-p.zk.mse.aliyuncs.commseutil nacos inspect --serverAddr mse-xxx-p.zk.mse.aliyuncs.com
复制代码


3.png


此时我们可知 DNS 解析正常,但是网络连接出现问题,此时我们根据文档中的错误描述可排查到公网白名单未配置,此时只需要配置公网白名单即可。


如果一切正常会输出以下结果:


4.png


通过诊断结果我们可知客户端环境到 MSE 实例之间的网络不通,之后可通过 MSE 对应文档排查具体原因,Nacos 诊断步骤和 ZooKeeper 一致。

MSE 实例操作

mseutil 提供对 MSE 实例的数据操作能力,兼容 zkCli,并且提供四字命令查询能力,具体使用可使用 -h 子命名查询使用方法,并且支持查询修改 Nacos 服务信息以及配置信息,使得线上环境排查问题更加便捷,mseutil 可完全独立在 x86 以及 arm64 环境的 Windows,Linux,OSX 运行,避免繁琐的环境配置,上手即用。

支持四字命令查询 Server 状态并且兼容 zkCli

mseutil 支持 ZooKeeper 四字命令,例如可通过以下方式进行四字命令查询 Server 当前状态的摘要:


mseutil zookeeper 4lw --serverAddr mse-xxx.aliyuncs.com stat
复制代码


5.png


mseutil 支持所有的 ZooKeeper 四字命令,可通过 mseuitl zookeeper 4lw -h 查看具体使用。


mseutil 兼容 zkCli,支持对 MSE ZooKeeper 中的数据进行查询和修改。


例如可通过以下命令快捷查询实例中对应 Path 的 Znode 数据:


mseutil zookeeper get --serverAddr=mse-xxxx.aliyuncs.com /zookeeper
复制代码


类似的 mseutil 还支持(set,delete,ls,stat)等命令通过 mseutil zookeeper -h 获取更多帮助。

支持对 Nacos 实例的服务信息查询和更新能力

mseutil 支持对 Naocs 一键诊断,支持查询基础的实例查询注册功能。一键诊断


mseutil nacos inspect --serverAddr ${实例连接地址}
复制代码


6.png


查询服务实例列表


mseutil nacos get instance -n ${namespaceId} -s ${serviceName} -g ${groupName}
复制代码


注册对应服务的实例


mseutil nacos create instance <IP>:<PORT> -n ${namespaceId} -s ${serviceName} -g ${groupName} -c ${clusterName}
复制代码


此外,诊断工具支持 Nacos 1.x 客户端协议和 Nacos 2.x 客户端协议,可通过参数切换:


mseutil nacos get instance -s ${serviceName} --v2
复制代码


从而可以完全覆盖客户端侧所有基本场景,减少问题定位的成本。

未来规划

mseutil 未来还会支持更多的 MSE 子产品以及更细粒度的,更智能的诊断能力,包括客户端到 MSE 实例的网络报文分析,客户端负载状态分析,具体应用的资源占用水平以及 GC 分析等能力,帮助用户更便捷的排查在使用 MSE 产品过程中遇到的问题,提升运维效率。

折扣活动

7.png


发布于: 刚刚阅读数: 5
用户头像

阿里云云原生 2019-05-21 加入

还未添加个人简介

评论

发布
暂无评论
MSE 诊断利器上线_阿里云_阿里巴巴云原生_InfoQ写作社区