开发者学堂课程【RocketMQ知识精讲与项目实战(第一阶段):Rocketmq-console集群监控平台搭建】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/702/detail/12374
Rocketmq-console集群监控平台搭建
主要内容:
一、Rocketmq-console
二、下载并编译打包
三、总结
一、Rocketmq-console
1.为什么要使用Rocketmq-console
上节课介绍了集群管理工具—Mqadmin,使用 Mqadmin 可以借助其一些命令对集群中的一些组件/决策进行管理,很多人都会觉得 Mqadmin 在直接使用时需要记忆一些常用命令比较麻烦,接下来就讲解一个更加直观的平台—Rocketmq-console,
Rocketmq-console 以一种 UI 的形式给大家展示集群各个组件运行的状态。
2.概述
Rockefelle 有一个对其扩展的开源项目 incubation-rocketing-exernals,这个项目中有一个子模块叫 rocketma-consoie,这个便是普理控制台项目了,先将incubator- rocketings ---ketmanist 拉到本地,因为我们需要自己对 rocketing--
console 进行编译打包运行。
3.如何使用Rocketmq-console
使用 Rocketmq-console 首先需要大家到 GitHub 上去下载它的开源项目,打开这个链接,Rocketmq-console 被托管到了 GitHub 上这是一个开源项目,
其实 Rocketmq-console 是 Rocketmq-exernals 项目下的子项目,Rocketmq-exernals 是 Rocketmq 的扩展项目,其中包含了许多的子项目,例如用 Rocketmq如何去集成 DotNet,如何去集成 PHP,如何去集成 kafka,如何去集成rabbitmq,docker 运行环境等等,都是 Rocketmq 一些附属的子项目,有这样的需求可以进行使用,现在使用的 Rocketmq-console 就处在这个地方,大家需要将项目先下载下来,下载的工作已经准备好,在资料安装包当中,解压出来以后,进到 Rocketmq-console 中是一个 Measure 工程,如果想要运行工程需要打一个 jar包,直接运行就
可以了。
此工程基于 springboot 开发,打一个可执行jar包就可以直接使用它,打包命令是
mvn.clean package 去打包,打包的时候可以跳过测试直接打包即可,打包之前需
要做一件事,监控平台要去连接 name sever 通过它去查看集群中的运行的一个状
态数据,所以我们要在这个项目中去配置 name sever 的一个地址。
二、下载并编译打包:
1.配置name sever地址
Rocketmq-console 项目当中找一下他的配置文件,在 resource 下面,里面有一个
springboot 的配置文件叫做 application.properties,
打开再此当中查找 name sever 配置的地方,
是 rocketmq.config.namesrvAddr=这个位置,在这个位置配置 name sever,由于现在 name sever 是一个集群,分别在135和138上面的都是启动了,所以直接把集群的两个节点配置上去,
config. namesrvAddr =192.168.25.135:9876;192.168.25.138:9876配置上去之后
就可以打包了,打包的命令为
git clone https://github.com/apache/rocketmq-externals
cd cd rocketmq-console
min clean packagyDmaven test, skip-true
这个命令很简单,先去 clean 再去打包,然后跳过测试打包,这个执行起来效率比较高一点。进到 pom 文件目录,打开命令行窗口,在这个地方执行打包,打包后会在 target 文件夹中生成 target 文件夹,在文件夹中生成可执行的 jar 文件,把可执行的 jar 文件需要放在两个机器上135/138两个服务器当中,先等待执行完毕
正在 copy 资源文件,copy 过来后会进行编译执行一个打包,打包到服务器以后,查看运行效果
2.运行效果
java-jar rocketmq-console-ng-1.0.0. jar
启动成功后,我们就可以通过浏览器访问 http://local host:8080进入控制台界面了,
通过8080端口,端口去访问 Rocketmq-console 工程就会看到一个界面如下图:
运行起来以后会详细的讲解监控平台应该怎么用,如果不跳过测试打包的时间可能会更长,跳过测试打包相对来讲会快一点,现在已经打包成功。
将命令行窗口关掉,进入target,会看到 java-jar rocketmq-console-ng-1.0.0. jar带源码的 jar 文件,直接运行这个就可以,JAR 文件不可以在本机运行,要放到集群环境中放到135或者138节点中都可以,现在先去连接上其中一个节点连接135,通过 fileZilla 把它提交到 usr/soft 文件夹上去,双击上传上去,上传成功后打开命令行窗口,在 soft 用户之下,会看到上传的jar文件
3.启动jar文件
使用 java-jar rocketmq-console-ng-1.0.0. jar 命令找到 jar 文件,直接点击回车就可以,看一下启动输出的日志,正在启动可以看到 spring boot 启动的 logo 这个项目就是用 spring boot 开发的,在启动时要连接 name sever,刚才已经配置了name sever 的地址,启动的端口号是8080,启动 MVC 工程,这个启动也会花一点时间,启动完毕,告诉我们目前在8080端口启动,访问要首先找到目标机器,通过8080端口访问,点击回车,回车后会看到一个当前的启动页面
如果能看到一个这样的界面说明 Rocketmq-console 监控平台已经启动成功,监控平台可以将语言设置为中文环境,就会一目了然看到当前为我们提供了哪些功能菜单,其中有运维、驾驶舱、集群、主题、消费者、生产者、消息、消息轨迹。
①运维
是报告当前连接的 name sever 两个节点和一个集群。
②驾驶舱
最常见到的是驾驶舱,在驾驶舱中显示了 broker,现在的 broker 有四个节点分别叫做 broker-a:0、broker-b:0
broker-a:1、broker-b:1,其中broker-a:1、broker-b:1是从节点,另外两个是主节点,broker-a:0、broker-b:0已经提前测试了一些发送的数据,可以显示每一个broker 的消费量。还显示了 broker 五分钟趋势,五分钟之内的趋势可以现在查看指定主题在这五分钟发送了多少条消息可以看到历史时间以及消息趋势。还包括主题top10,就是哪些主题现在比较活跃以及五分钟趋势图,这是驾驶舱告诉我们的信
息。
③集群
现在有一个名字叫 rocketmq-cluster 的集群,这个名字是搭建集群时配置了 broker 的配置文件,broker 的配置文件四个节点的名字 brokerclustername 叫做 rocketmq-cluster,集群下面有四个 broker 的节点,很清楚的告诉我们当前每一个节点的位置,版本,生产消息 tps 数,今天的消费数,今天的每一个消费数量等等都会清晰的展示出来。
④主题
主题当中显示了当前集群有几个主题,在这个地方可以新建自己的主题,新建时指定主题和哪一个 broker 绑定,指定主题时如果指定集群名字就不需要去指定具体的某一个 broker,如果指定 broker 就不需要去指定集群,通过这个界面可以去制定一个 topic 主题。除了看一些普通的主题还可以看一下重试的主题包括死信队列等等这些都可以看到。点击系统出现几个与系统相关的主题
⑤消费者
等一会再去进行消息的生产者和消息的发送者的消息发送和消费的过程就会看到启动的消费者就会在这个地方显示出来,同样生产者也会在相应的位置显示出来,包括消息这个菜单,消息菜单会显示出当前生产者给 broker 发送多少条消息,可以通过时间点去进行条件查询。还可以查看某一条消息,例如可以根据消息的 key 去查询当前 key 上的消息或者根据消息 ID 去查看当前消息的情况,这是消息菜单所提供的功能
⑥消息轨迹
消息轨迹其实显示了消息发送到哪一个 broker,最终是由哪一个消费者去消费了等等就是消息的轨迹信息,可以从这个菜单查询出来。
三、总结
总体会看到 rockermq 集群监控平台其实提供了刚才所用到的 mqadmin 管理工具当中的一些功能,给予一种更加直观的图形化的界面的方式显示出来,集群的平台在开发过程中经常会用到。以上就将集群的监控平台的搭建基本上就讲解完毕了。
总结一下对集群监控平台大家首先要去通过附属的扩展项目把它下载下来,其中包含它的一些子项目,最终找的是 Rocketmq-console,进入到 console 当中要去执行 mvn 的打包命令,打成一个jar包,将jar包扔到集群环境中通过 Java-jar 命令把它启动起来,在进行打包之前一定要去指定 nameserve 的集群地址,然后再启动,启动之后通过8080端口在目标集群上访问它,然后就可以看到一个这样的界面
这是集群监控平台的搭建和基本的使用过程,后续再进行上面开发时包括进行案例测试都是去查看集群当中的信息。