Dubbo进阶(七)—— Dubbo服务管理和监管

📅 发布时间:2026/8/7 1:19:45
Dubbo进阶(七)—— Dubbo服务管理和监管
dubbo官方自带了dubbo-admin及dubbo-simple/dubbo-monitor-simple二个子项目用于服务治理及服务监控。一、dubbo-admin的部署项目编译打包成功后将dubbo-admin/target/dubbo-admin-2.8.xxx.war复制到jetty、tomcat下的webapps就算完成部署了(当然也可以部署到其它兼容的servlet容器比如jboss、weblogic)。然后浏览http://localhost:8080/dubbo-admin/会提示登陆用户名、密码这是在配置文件里写死的配置文件的路径为dubbo-admin/src/main/webapp/WEB-INF/dubbo.properties dubbo.registry.addresszookeeper://127.0.0.1:2181?backup127.0.0.1:2182,127.0.0.1:2183 dubbo.admin.root.passwordroot dubbo.admin.guest.passwordguest即用户名、密码均为root登录成功后刷新下页面如果提示404之类的退回到http://localhost:8080/浏览这个跟部署的contextPath有关如果contextPath设置为/dubbo-admin刷新下就可以了如果contextPath设置成/则登录后要退回/浏览。二、dubbo-monitor-simple部署源项目打包后目录dubbo-simple/dubbo-monitor-simple/target中会生成dubbo-monitor-simple-xxx-assembly.tar.gz用tar -zxvf *.gz解压解压后有三个子目录bin、conf、libconf里面是配置文件dubbo.containerlog4j,spring,registry,jetty dubbo.application.namesimple-monitor dubbo.application.owner dubbo.registry.addresszookeeper://127.0.0.1:2181 dubbo.protocol.port7070 dubbo.jetty.port8180 dubbo.jetty.directory/data/dubbo/monitor dubbo.charts.directory${dubbo.jetty.directory}/charts dubbo.statistics.directory${user.home}/monitor/statistics dubbo.log4j.filelogs/dubbo-monitor-simple.log dubbo.log4j.levelWARN参考上面改然后bin下有一个start.sh脚本启动即可访问后浏览http://localhost:8180(端口号要跟配置里一致)服务调用次数的统计服务之间的依赖关系注1官网的监控是把所有监控数据主要是统计数据和表图数据保存到服务器磁盘上的运行时间久了硬盘可能会撑满要注意及时清理(就是配置文件里面配置的3个目录下)。注2监控数据也并非实时统计的所以第1次部署成功后马上去看统计数据可能没有随便跑一个service provider/service consumer的用例然后等一会儿就可以了。三、dubbo-monitor-xoschina上的开源项目为了与dubbox里的dubbo-monitor子项目名称上分开在后面加了-x其中的开发者『马金凯』也是dubbox的作者之一。不过这个版本好象有点bugcharts上图表展示时会报错通过跟代码发现是sql的问题已经在个人fork的分支上修复有兴趣的可以参考。注与官网的监控存储方案不同dubbo-monitor-x是把数据保存在mysql里的参考README.md很容易搞定部署。此外该版本还有一个mongodb的分支见dubbo-monitor-mongo(推荐使用)四、dubbo keeper这是托管在git上的开源项目从github用户信息上的邮箱后缀看可能是阿里云的人发起的与前面的项目不同这个项目把管理监控集成在一起了而且存储方案除了mysql还支持mongodblucene不过好像项目没做完只覆盖了dubbo-admin官方功能的90%左右比如添加路由功能就没有如果这个项目逐渐完善了个人觉得最有前途。不过该项目部署略复杂如果决定用mysql存储先执行根目录下的install-mysql.sh然后在target目录下dubbokeeper/target/mysql-dubbokeeper-server/mysql-server/conf修改如下配置信息dubbo.application.namemysql-monitor dubbo.application.ownerbieber dubbo.registry.addresszookeeper://localhost:2181 dubbo.protocol.namedubbo dubbo.protocol.port20884 monitor.collect.interval100 #usered netty4 dubbo.provider.transporternetty4 #mysql dubbo.monitor.mysql.urljdbc:mysql://default:3306/dubbokeeper dubbo.monitor.mysql.usernameroot dubbo.monitor.mysql.password123456 dubbo.monitor.mysql.pool.max10 dubbo.monitor.mysql.pool.min10主要是zk及mysql的连接信息以及端口号然后执行上一级目录../bin下的start-mysql.sh启动监控数据的存储服务即mysql-dubbokeeper-server本身就是一个dubbo服务用于保存监控数据。dubbokeeper/target/mysql-dubbokeeper-ui这个下面的war包扔到tomcat或jetty部署即可(这个才是真正的管理监控 UI)如果启动失败检查dubbokeeper/dubbokeeper-ui/src/main/resources/dubbo.properties配置是否正确如果不对改正确了再重新打包部署。这个项目可以很方便的看各项目的依赖关系图以及每个服务的调用次数等信息可惜没有关键的QPS数据。问题这几套方案统计出来的数据对于同样的用例都不一样也是醉了不知道哪家的更准看个人喜好吧。下面推荐几种搭配官方的dubbo-admin 韩都的dubbo-monitor-x全官方的dubbo-admindubbo-monitor-simpledubbokeeper一套如果同时起多个监控服务dubbo-admin里会有警告而且监控数据存多份也没必要所以不管怎么搭配不要将dubbo-monitor-simple、dubbo-monitor-x、dubbokeeper同时部署在一个ZK注册中心。拓展阅读《Dubbo进阶四—— dubbo-monitor安装、 监控中心 配置过程》《Dubbo进阶五—— dubbo-monitor-simple使用》附Zookeeper下载地址:点我下载Dubbo-admin下载地址:点我下载Dubbo-monitor下载地址:点我下载