1. RocketMQ Dashboard 是什么RocketMQ Dashboard 是 Apache RocketMQ 官方提供的可视化监控管理工具相当于给 RocketMQ 装上了仪表盘。想象一下开车没有仪表盘不知道油量、车速、发动机状态有多可怕RocketMQ Dashboard 就是解决这个问题的。我在实际运维中发现没有 Dashboard 的 RocketMQ 就像蒙着眼睛操作——你根本不知道消息堆积了多少、消费者是否正常、Broker 负载如何。通过这个控制台你可以直观地看到实时消息吞吐量TPS消费者组延迟情况Broker 节点健康状况主题Topic和队列Queue的分布2. 环境准备2.1 硬件和软件要求建议准备至少 2GB 内存的机器实测 1GB 内存启动会非常卡顿。需要提前安装JDK 1.8注意不要用 JDK 11会有兼容性问题Maven 3.2已经启动的 RocketMQ 集群至少包含 1 个 Namesrv 和 1 个 Broker我遇到过最典型的坑是环境变量配置问题。建议用以下命令验证java -version # 应该显示 1.8.x mvn -v # 应该显示 3.2.x 或更高2.2 网络要求确保 Dashboard 服务器能访问 RocketMQ 的 Namesrv 地址。如果是本地测试最简单的验证方式是telnet 127.0.0.1 9876 # 替换成你的Namesrv地址如果连接失败需要检查防火墙或安全组设置。3. 从源码到可运行包3.1 获取源码推荐从官网下载最新 release 版本wget https://archive.apache.org/dist/rocketmq/rocketmq-dashboard/1.0.0/rocketmq-dashboard-1.0.0-source-release.zip unzip rocketmq-dashboard-1.0.0-source-release.zip3.2 关键配置修改找到src/main/resources/application.properties文件这几个参数必须检查server.port8080 # 控制台访问端口 rocketmq.config.namesrvAddr127.0.0.1:9876 # 多个Namesrv用分号隔开 rocketmq.config.isVIPChannelfalse # 如果RocketMQ版本3.5.8要设为false3.3 编译打包执行打包命令跳过测试能节省大量时间mvn clean package -Dmaven.test.skiptrue打包成功后会在 target 目录生成 jar 文件文件名类似rocketmq-dashboard-1.0.0.jar。4. 启动与验证4.1 启动方式推荐用 nohup 后台启动nohup java -jar rocketmq-dashboard-1.0.0.jar dashboard.log 21 4.2 健康检查启动后可以通过两个方式验证查看日志tail -f dashboard.log | grep Tomcat started访问接口curl http://localhost:8080/actuator/health4.3 常见启动问题端口冲突修改server.port后重启连接不上 Namesrv检查网络连通性和防火墙内存不足添加启动参数-Xms512m -Xmx512m5. 生产环境部署建议5.1 安全配置一定要修改默认配置# 开启登录认证 rocketmq.config.loginRequiredtrue # 设置管理员账号 rocketmq.config.adminUseryour_username rocketmq.config.adminPasswordyour_password5.2 高可用方案建议的部署架构为 Dashboard 配置 Nginx 反向代理使用 systemd 管理进程配置日志轮转logrotate5.3 性能调优在application.properties中添加server.tomcat.max-threads200 # 默认是150 server.tomcat.accept-count100 # 等待队列长度6. 进阶使用技巧6.1 消息轨迹追踪在控制台的消息查询页面可以通过 Message ID 精准定位消息流向。我曾在排查消息丢失问题时用这个功能发现是消费者组配置错误导致。6.2 消费位点重置遇到消息堆积时可以在消费者管理页面选择目标消费者组点击重置消费位点选择按时间或位点重置6.3 自动化监控Dashboard 提供了 Prometheus 格式的 metrics 接口http://localhost:8080/actuator/prometheus可以配合 Grafana 实现自动化监控。7. 排错指南7.1 控制台能打开但看不到数据检查步骤确认 Namesrv 地址配置正确查看 Broker 日志是否有注册失败记录在 Dashboard 机器上执行telnet Namesrv_IP 98767.2 页面加载缓慢优化方案增加 JVM 内存-Xmx1g减少页面数据量默认每页100条改为50条升级服务器配置7.3 用户登录失败排查方向检查application.properties中的账号密码查看日志中的登录错误记录确认没有特殊字符导致配置解析错误8. 最佳实践经过多个项目实践我总结出几个关键点版本匹配Dashboard 版本最好与 RocketMQ 大版本一致权限控制生产环境一定要开启登录认证日志归档定期归档日志避免磁盘占满监控告警对接现有监控系统设置关键指标告警对于中小型集群Dashboard 完全可以满足日常运维需求。但对于超大规模集群比如日消息量过亿建议考虑企业级监控方案。
RocketMQ Dashboard 部署实战:从源码到生产可用的控制台
发布时间:2026/5/16 2:54:23
1. RocketMQ Dashboard 是什么RocketMQ Dashboard 是 Apache RocketMQ 官方提供的可视化监控管理工具相当于给 RocketMQ 装上了仪表盘。想象一下开车没有仪表盘不知道油量、车速、发动机状态有多可怕RocketMQ Dashboard 就是解决这个问题的。我在实际运维中发现没有 Dashboard 的 RocketMQ 就像蒙着眼睛操作——你根本不知道消息堆积了多少、消费者是否正常、Broker 负载如何。通过这个控制台你可以直观地看到实时消息吞吐量TPS消费者组延迟情况Broker 节点健康状况主题Topic和队列Queue的分布2. 环境准备2.1 硬件和软件要求建议准备至少 2GB 内存的机器实测 1GB 内存启动会非常卡顿。需要提前安装JDK 1.8注意不要用 JDK 11会有兼容性问题Maven 3.2已经启动的 RocketMQ 集群至少包含 1 个 Namesrv 和 1 个 Broker我遇到过最典型的坑是环境变量配置问题。建议用以下命令验证java -version # 应该显示 1.8.x mvn -v # 应该显示 3.2.x 或更高2.2 网络要求确保 Dashboard 服务器能访问 RocketMQ 的 Namesrv 地址。如果是本地测试最简单的验证方式是telnet 127.0.0.1 9876 # 替换成你的Namesrv地址如果连接失败需要检查防火墙或安全组设置。3. 从源码到可运行包3.1 获取源码推荐从官网下载最新 release 版本wget https://archive.apache.org/dist/rocketmq/rocketmq-dashboard/1.0.0/rocketmq-dashboard-1.0.0-source-release.zip unzip rocketmq-dashboard-1.0.0-source-release.zip3.2 关键配置修改找到src/main/resources/application.properties文件这几个参数必须检查server.port8080 # 控制台访问端口 rocketmq.config.namesrvAddr127.0.0.1:9876 # 多个Namesrv用分号隔开 rocketmq.config.isVIPChannelfalse # 如果RocketMQ版本3.5.8要设为false3.3 编译打包执行打包命令跳过测试能节省大量时间mvn clean package -Dmaven.test.skiptrue打包成功后会在 target 目录生成 jar 文件文件名类似rocketmq-dashboard-1.0.0.jar。4. 启动与验证4.1 启动方式推荐用 nohup 后台启动nohup java -jar rocketmq-dashboard-1.0.0.jar dashboard.log 21 4.2 健康检查启动后可以通过两个方式验证查看日志tail -f dashboard.log | grep Tomcat started访问接口curl http://localhost:8080/actuator/health4.3 常见启动问题端口冲突修改server.port后重启连接不上 Namesrv检查网络连通性和防火墙内存不足添加启动参数-Xms512m -Xmx512m5. 生产环境部署建议5.1 安全配置一定要修改默认配置# 开启登录认证 rocketmq.config.loginRequiredtrue # 设置管理员账号 rocketmq.config.adminUseryour_username rocketmq.config.adminPasswordyour_password5.2 高可用方案建议的部署架构为 Dashboard 配置 Nginx 反向代理使用 systemd 管理进程配置日志轮转logrotate5.3 性能调优在application.properties中添加server.tomcat.max-threads200 # 默认是150 server.tomcat.accept-count100 # 等待队列长度6. 进阶使用技巧6.1 消息轨迹追踪在控制台的消息查询页面可以通过 Message ID 精准定位消息流向。我曾在排查消息丢失问题时用这个功能发现是消费者组配置错误导致。6.2 消费位点重置遇到消息堆积时可以在消费者管理页面选择目标消费者组点击重置消费位点选择按时间或位点重置6.3 自动化监控Dashboard 提供了 Prometheus 格式的 metrics 接口http://localhost:8080/actuator/prometheus可以配合 Grafana 实现自动化监控。7. 排错指南7.1 控制台能打开但看不到数据检查步骤确认 Namesrv 地址配置正确查看 Broker 日志是否有注册失败记录在 Dashboard 机器上执行telnet Namesrv_IP 98767.2 页面加载缓慢优化方案增加 JVM 内存-Xmx1g减少页面数据量默认每页100条改为50条升级服务器配置7.3 用户登录失败排查方向检查application.properties中的账号密码查看日志中的登录错误记录确认没有特殊字符导致配置解析错误8. 最佳实践经过多个项目实践我总结出几个关键点版本匹配Dashboard 版本最好与 RocketMQ 大版本一致权限控制生产环境一定要开启登录认证日志归档定期归档日志避免磁盘占满监控告警对接现有监控系统设置关键指标告警对于中小型集群Dashboard 完全可以满足日常运维需求。但对于超大规模集群比如日消息量过亿建议考虑企业级监控方案。