网站首页 > 博客文章 正文
使用RocketMQ命令行工具
RocketMQ提供了一个命令行工具mqadmin,可以通过它来获取集群的状态信息。以下是一些常用命令的示例:
# 查看集群信息
./mqadmin clusterList -n localhost:9876
# 查看所有主题信息
./mqadmin topicList -n localhost:9876
# 查看Broker信息
./mqadmin brokerStatus -b localhost:10911 -n localhost:9876
# 查看消费者状态
./mqadmin consumerStatus -g groupName -n localhost:9876
使用JMX监控
RocketMQ支持JMX,你可以使用JConsole或者其他JMX客户端来连接到RocketMQ的JMX服务。以下是一个使用Java代码通过JMX获取RocketMQ信息的示例:
import javax.management.Attribute;
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
import java.util.Set;
public class RocketMQJMXMonitor {
public static void main(String[] args) throws Exception {
// JMX连接地址,RocketMQ默认的JMX端口是1099
JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi");
JMXConnector jmxc = JMXConnectorFactory.connect(url, null);
MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();
// 查询所有RocketMQ相关的MBean
Set<ObjectName> objectNames = mbsc.queryNames(new ObjectName("org.apache.rocketmq:*"), null);
for (ObjectName objectName : objectNames) {
System.out.println("ObjectName: " + objectName);
// 获取MBean的所有属性
Set<String> keys = mbsc.getMBeanInfo(objectName).getAttributes().stream()
.map(Attribute::getName)
.collect(Collectors.toSet());
for (String key : keys) {
Object value = mbsc.getAttribute(objectName, key);
System.out.println("\t" + key + " = " + value);
}
}
jmxc.close();
}
}
运行上述Java程序,你需要确保RocketMQ的JMX服务已经启动,并且你的Java程序具有访问JMX服务的权限。
使用Prometheus和Grafana
如果你已经部署了Prometheus和Grafana,你可以使用RocketMQ的Exporter来收集数据。
首先,你需要运行RocketMQ Exporter,这可以通过以下命令启动:
java -jar rocketmq-exporter.jar
然后,配置Prometheus来抓取RocketMQ Exporter的数据,在Prometheus的配置文件中添加以下内容:
scrape_configs:
- job_name: 'rocketmq'
static_configs:
- targets: ['localhost:5557'] # RocketMQ Exporter监听的端口
最后,在Grafana中添加Prometheus数据源,并创建相应的Dashboard来展示RocketMQ的监控数据。
以上代码和方法可以帮你监控RocketMQ集群的状态,但请根据你的实际环境(如RocketMQ版本、配置等)进行相应的调整。
猜你喜欢
- 2024-11-18 快速使用docker方式部署安装RocketMQ
- 2024-11-18 介绍新版RocketMQ v4.9.3 下载、安装、配置的完成过程
- 2024-11-18 docker-4:mac使用docker部署开发用rocketmq
- 2024-11-18 扩展RocketMQ 使其支持任意时间精度的消息延迟
- 2024-11-18 RocketMQ如何突破内网限制,实现内外网互通
- 2024-11-18 SpringBoot3.0 + RocketMq 构建企业级数据中台完结
- 2024-11-18 centos7安装部署RocketMQ分布式集群
- 2024-11-18 「转」Spring Cloud异步场景分布式事务怎样做?试试RocketMQ
- 2024-11-18 RocketMQ集群搭建
- 2024-11-18 RocketMQ 的持久化配置
你 发表评论:
欢迎- 08-06nginx 反向代理
- 08-06跨表插入连续的日期,sheetsname函数#excel技巧
- 08-06初中生也能学的编程,不走弯路,先用后学
- 08-06find命令的“七种武器”:远不止-name和-type
- 08-06恶意代码常见的编程方式
- 08-06kali2021ping 外网不通
- 08-06因为一个函数strtok踩坑,我被老工程师无情嘲笑了
- 08-06hadoop集群搭建详细方法
- 47℃nginx 反向代理
- 最近发表
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- powershellfor (73)
- messagesource (71)
- plsql64位 (73)
- vueproxytable (64)
- npminstallsave (63)
- #NAME? (61)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- nacos启动失败 (64)
- ssh-add (70)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- qcombobox样式表 (68)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)