Dubbo Admin 监控管理工具的部署和简单使用介绍
我们在使用 Dubbo 框架开发项目时,中间很可能会遇到各种问题,此时如果有一款 Dubbo 监控管理工具,能够方便的查看到 Dubbo 服务的提供者和消费者,以及 Dubbo 的路由、配置、接口细节等信息的话,就能够很容易发现和解决问题,极大的提高了开发效率。
Dubbo-Admin 就是这样一款基于 Zookeeper 进行监控管理 Dubbo 的实用工具,它是 Apache 下的一个前后端分离的项目,前端使用 Vue ,后端使用 SpringBoot,我们只需要将其安装部署好即可。
一、环境准备
本篇博客介绍在 windows 下部署 Dubbo-Admin ,毕竟大家平时开发代码,主要还是使用 Windows 环境。
在部署 Dubbo-Admin 之前,首先需要安装 jdk、maven、node.js 。有关 jdk 和 maven 的安装,这里就不介绍了,毕竟对于 java 开发人员来说,这是必备技能。有关 node.js 的安装,也非常太简单了,只要从官网下载安装包后,安装过程中不断点击下一步就可完成安装。
node.js 的官网地址是:https://nodejs.org/en
Dubbo-Admin 的官网地址:https://github.com/apache/dubbo-admin
从 Dubbo-Admin 官网下载 Dubbo-Admin 的压缩包,解压后如下图所示:
最重要的目录就是 dubbo-admin-server 和 dubbo-admin-ui。
dubbo-admin-server 主要提供后端接口,dubbo-admin-ui 提供前端展示界面。
当我们打开 dubbo-admin-server 的 pom 文件时,发现有如下的配置:
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy Vue.js frontend content</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>src/main/resources/public</outputDirectory>
<overwrite>true</overwrite>
<resources>
<resource>
<directory>${project.parent.basedir}/dubbo-admin-ui/target/dist</directory>
<includes>
<include>static/</include>
<include>index.html</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
这说明在整体打包过程中,dubbo-admin-ui 的页面会拷贝到了 dubbo-admin-server 下,所以打包后,我们只需要启动 dubbo-admin-server 即可。下面我们就赶紧打包启动吧。
二、打包启动 dubbo-admin 工具
进入 dubbo-admin-server 目录下的 src\main\resources 目录,编辑 application.properties 配置文件,比较重要的有 3 个配置项:SpringBoot 启动的端口、 Zookeeper 的连接地址和端口、dubbo-admin 工具的登录用户名和密码
# 增加该配置项,这里配置 SpringBoot 启动端口为 8181
server.port=8181
# 注册中心 Zookeeper 的连接地址和端口,以及元数据获取地址
admin.registry.address=zookeeper://127.0.0.1:2181
admin.config-center=zookeeper://127.0.0.1:2181
admin.metadata-report.address=zookeeper://127.0.0.1:2181
# dubbo-admin 工具登录的用户名和密码
admin.root.user.name=root
admin.root.user.password=root
然后重新回到解压后的 dubbo-admin-develop 这个根目录,按着 shift 键,打开鼠标右键,选择 “在此处运行命令窗口”,打开基于当前目录路径的 cmd 窗口,运行一下命令,进行清理和打包:
# 如果 mvn 命令不可用的话,说明你没有将 maven 的可执行路径添加到环境变量中
mvn clean package
根据自己的电脑配置不同,清理和打包所需要的时间不一样,总体来说需要花费几分钟的时间,中间遇到错误的话,要淡定一些,不用管它,虽然命令行窗口好长时间不动,但是 CPU 还是在高速运转着呢,所以静静的等待它打包完成即可。
最终完成后如下图所示:
然后进入到 dubbo-admin-server 目录下的 target 目录下,会发现 dubbo-admin-server-0.1.jar 这个刚刚打包生成的 jar 包。
需要注意的是:在启动 dubbo-admin-server 的 SpringBoot 的 jar 包之前,必须先把 Zookeeper 启动起来,这个很重要,否则无法启动 dubbo-admin-server,因为它需要连接 Zookeeper 获取 Dubbo 的相关信息。
在启动了 Zookeeper 之后,我们进入到 dubbo-admin-server 的 target 目录下,按着 shift 键,打开鼠标右键,选择 “在此处运行命令窗口”,打开基于当前目录路径的 cmd 窗口,运行一下命令启动 dubbo-admin-server 服务:
# 如果 java 命令不可用的话,说明你没有将 jdk 的可执行路径添加到环境变量中
java -jar dubbo-admin-server-0.1.jar
当然如果你可以把 dubbo-admin-server-0.1.jar 从 target 目录中拷贝到别的地方,然后再运行也是没问题的。
说明:如果你想要将 SpringBoot 服务,在 Windows 上安装成 Windows Service 服务的话,使用 nssm.exe 即可实现,具体实现细节很简单,可以参考我写的上一篇博客中将 Zookeeper 服务安装成 Windows Service 的方案,大同小异。
因为之前我们配置的 dubbo-admin-server 这个 SpringBoot 的端口是 8181,我是在本机启动 SpringBoot 服务的,所以只需要访问 http://localhost:8181 即可打开 dubbo-admin 的界面,输入我们配置的用户名和密码(都是 root)登录进去。
三、监控管理 Dubbo
这里基于上一篇博客所开发的 Dubbo 示例,演示 dubbo-admin 工具的简单使用。
打开上一篇博客的 demo,使用 tomcat9 分别启动 dubbo 服务端和客户端,然后进入 dubbo-admin 界面中的服务查询页面中(如果已经进入了,就刷新一下服务查询页面),能够看到一个 dubbo 服务:
1 服务详情页面简单介绍
点击“详情”可以进入到服务的详情页面中,查看服务的详细信息:
在“服务信息”栏目下,可以看到 dubbo 服务的提供者和消费者(需要注意的是:只有 dubbo 消费者调用过一次 dubbo 服务提供者之后,在该界面中才能看到消费者)。
在“元数据”栏目下,可以看到 dubbo 服务的提供者所提供的接口细节(接口名称、参数列表、返回值类型)。需要注意的是:只有在 dubbo 服务的提供者的配置文件中,增加一个配置项,才能在该界面中看到元数据接口信息。在之前的博客的 demo 中,我们已经在 dubbo 服务的提供者中增加了该项配置,如下所示:
<!--元数据配置,方便在 DubboAdmin 界面中看到服务中的方法 -->
<dubbo:metadata-report address="zookeeper://localhost:2181" />
2 服务测试页面简单介绍
点击“测试”可以进入到服务接口的测试页面:
能够发现 dubbo 服务提供的 2 个接口,比如点击第一个接口后面的按钮,进入测试页面:
在方法的参数中,输入参数值,比如“乔京飞”,点击“执行”按钮,返回结果为“Hello 乔京飞”。
OK,到此为止,有关 Dubbo Admin 这款实用的 Dubbo 监控管理工具的部署和简单实用,已经介绍完毕,希望对大家有用。