RocketMQ 可视化管理界面Dashboard的搭建和使用

原有的rocketmq-console已被rocketmq-externals单独列为一个项目,现在取名:rocketmq-dashboard。

Git 项目地址:https://github.com/apache/rocketmq-dashboard

本文将讲解RocketMQ 可视化管理界面Dashboard的搭建和使用。


欢迎关注《Apache RocketMQ 深入浅出》系列文章,架构师将循序渐进地讲解Apache RocketMQ的开发实践。

1. Apache RocketMQ 入门介绍和整体架构图

2. 介绍新版RocketMQ v4.9.3 下载、安装、配置的完成过程

3. 启动和停止RocketMQ服务进程、测试消息的发送和消费

4. Spring Boot集成RocketMQ :生产者和消费者开发入门实践

5. RocketMQ 可视化管理界面Dashboard的搭建和使用

......


一、使用Docker 容器搭建

首先,确认本地有docker 环境,执行如下命令:

docker version

如图所示,输出本地 docker 环境信息。


然后,运行docker run 命令。获取 rocketmq-dashboard 镜像,并启动容器,命令如下所示:

docker run -d --name rocketmq-dashboard -e "JAVA_OPTS=-Drocketmq.namesrv.addr=127.0.0.1:9876" -p 8080:8080 -t apacherocketmq/rocketmq-dashboard:latest

其中,可以自行修改 namesrv.addr 的IP和端口号。


容器启动之后,在浏览器中访问:localhost:8080,如图所示:


但是,在访问过程中,会提示无法连接 127.0.0.1:9876。

这个容易理解,因为我们的nameserver 是在本地主机上运行,而rocketmq-dashboard 是在连接容器中的9876 端口,肯定是连接不上的。


我们先停止docker 容器 rocketmq-dashboard,执行过程如图所示:

docker rm -f rocketmq-dashboard


再次启动 rocketmq-dashboard 容器,其中指定了 rocketmq.namesrv.addr=192.168.2.102:9876,这个是主机的IP和端口号,也就是本地nameserver 的服务进程。

docker run -d --name rocketmq-dashboard -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.2.102:9876" -p 8080:8080 -t apacherocketmq/rocketmq-dashboard:latest


看起来像正常了。但是在浏览器中访问 dashboard 时,仍然会出现如下异常信息:

连接 127.0.0.1:10909 失败;此时可以关闭 UseVIPChannel 选项。


接下来,又出现连接 127.0.0.1:10911 失败,如图所示。也就是说,rocketmq-dashboard 容器仍然在访问容器内部的端口。


为什么会出现这种情况呢?

这是因为我们的示例环境中 broker 注册到nameserver 时,是采用的 127.0.0.1(IP 地址)注册的,因此 rocketmq-dashboard 从 nameserver 获取 broker地址就无法连接上了。

解决办法是:修改之前 broker.conf 配置文件中brokerIP1 地址。


二、使用dashboard 源码编译

为了省事,我们还是拉取rocketmq-dashboard 源码进行编译运行吧。

代码拉取下来之后,进入到 rocketmq-dashboard 目录,执行maven 编译命令:

mvn clean package -Dmaven.test.skip=true


编译完成之后,会在target 目录生成 rocketmq-dashboard-1.0.1-SNAPSHOT.jar,如图所示:


启动 rocketmq-dashboard 应用:

java -jar target/rocketmq-dashboard-1.0.1-SNAPSHOT.jar

然后,就可以在浏览器中访问localhost:8080。


三、RocketMQ-Dashboard 可视化管理界面

RocketMQ仪表板提供了不少功能,如图所示,运维、驾驶舱、集群、主题、消费者、生产者、消息、消息轨迹等等。

下面是Dashboard(驾驶舱)页面,查看broker的消息量(总量/5分钟图)和查看单一主题的消息量(总量/趋势图)。


RocketMQ 集群管理页面,查看broker具体信息/运行信息。


消息查询页面,根据Topic和时间区间查询,由于数据量大 最多只会展示2000条,多的会被忽略。


在访问Dashboard时,还支持按用户名和密码登录控制台,具体配置可以访问官方文档。

举报
评论 0