Rocketmq-console集群监控平台搭建|学习笔记

简介: 快速学习Rocketmq-console集群监控平台搭建

开发者学堂课程【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 的一个地址

image.png


二、下载并编译打包:

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两个服务器当中,先等待执行完毕

image.png

正在 copy 资源文件,copy 过来后会进行编译执行一个打包,打包到服务器以后,查看运行效果

2.运行效果

java-jar rocketmq-console-ng-1.0.0. jar

启动成功后,我们就可以通过浏览器访问 http://local  host:8080进入控制台界面了,

通过8080端口,端口去访问 Rocketmq-console 工程就会看到一个界面如下图:

image.png

运行起来以后会详细的讲解监控平台应该怎么用,如果不跳过测试打包的时间可能会更长,跳过测试打包相对来讲会快一点,现在已经打包成功。

image.png

将命令行窗口关掉,进入target,会看到 java-jar rocketmq-console-ng-1.0.0. jar带源码的 jar 文件,直接运行这个就可以,JAR 文件不可以在本机运行,要放到集群环境中放到135或者138节点中都可以,现在先去连接上其中一个节点连接135,通过 fileZilla 把它提交到 usr/soft 文件夹上去,双击上传上去,上传成功后打开命令行窗口,在 soft 用户之下,会看到上传的jar文件

image.png

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端口访问,点击回车,回车后会看到一个当前的启动页面

image.png

如果能看到一个这样的界面说明 Rocketmq-console 监控平台已经启动成功,监控平台可以将语言设置为中文环境,就会一目了然看到当前为我们提供了哪些功能菜单,其中有运维、驾驶舱、集群、主题、消费者、生产者、消息、消息轨迹。

image.png

①运维

是报告当前连接的 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,就是哪些主题现在比较活跃以及五分钟趋势图,这是驾驶舱告诉我们的信

息。

③集群

image.png

现在有一个名字叫 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端口在目标集群上访问它,然后就可以看到一个这样的界面

image.png

这是集群监控平台的搭建和基本的使用过程,后续再进行上面开发时包括进行案例测试都是去查看集群当中的信息。

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
3月前
|
消息中间件 Java 测试技术
消息队列 MQ使用问题之数据流出规则是否支持平台的云RabbitMQ
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
2月前
|
消息中间件 存储 负载均衡
EMQ
|
3月前
|
物联网 Linux C语言
在 Windows 平台搭建 MQTT 服务
NanoMQ 有着强大的跨平台和可兼容能力,不仅可以用于以 Linux 为基础的各类平台,也为 Windows 平台提供了 MQTT 服务的新选择。
EMQ
99 9
在 Windows 平台搭建 MQTT 服务
|
2月前
|
消息中间件 存储 负载均衡
"RabbitMQ集群大揭秘!让你的消息传递系统秒变超级英雄,轻松应对亿级并发挑战!"
【8月更文挑战第24天】RabbitMQ是一款基于AMQP的开源消息中间件,以其高可靠性、扩展性和易用性闻名。面对高并发和大数据挑战时,可通过构建集群提升性能。本文深入探讨RabbitMQ集群配置、工作原理,并提供示例代码。集群由多个通过网络连接的节点组成,共享消息队列,确保高可用性和负载均衡。搭建集群需准备多台服务器,安装Erlang和RabbitMQ,并确保节点间通信顺畅。核心步骤包括配置.erlang.cookie文件、使用rabbitmqctl命令加入集群。消息发布至任一节点时,通过集群机制同步至其他节点;消费者可从任一节点获取消息。
36 2
|
2月前
|
存储 C# 关系型数据库
“云端融合:WPF应用无缝对接Azure与AWS——从Blob存储到RDS数据库,全面解析跨平台云服务集成的最佳实践”
【8月更文挑战第31天】本文探讨了如何将Windows Presentation Foundation(WPF)应用与Microsoft Azure和Amazon Web Services(AWS)两大主流云平台无缝集成。通过具体示例代码展示了如何利用Azure Blob Storage存储非结构化数据、Azure Cosmos DB进行分布式数据库操作;同时介绍了如何借助Amazon S3实现大规模数据存储及通过Amazon RDS简化数据库管理。这不仅提升了WPF应用的可扩展性和可用性,还降低了基础设施成本。
63 0
|
3月前
|
消息中间件 Prometheus 监控
消息队列 MQ使用问题之如何将旧集群的store目录迁移到新集群
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
2月前
|
消息中间件 API 数据安全/隐私保护
就软件研发问题之RocketMQ ACL 2.0加强集群组件间访问控制的问题如何解决
就软件研发问题之RocketMQ ACL 2.0加强集群组件间访问控制的问题如何解决
|
3月前
|
消息中间件 RocketMQ
MetaQ/RocketMQ 原理问题之当消费集群规模较大时,处理分配不到队列的Consumer的问题如何解决
MetaQ/RocketMQ 原理问题之当消费集群规模较大时,处理分配不到队列的Consumer的问题如何解决
|
3月前
|
消息中间件 存储 Java
消息队列 MQ使用问题之如何将RocketMQ中某个集群的topic迁移到另一个集群
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
3月前
|
消息中间件 安全 fastjson
消息队列 MQ使用问题之NameServer集群是什么结构
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。