Dubbo工具——dubbo-monitor监控平台的发布和使用
1)下载
https://github.com/alibaba/dubbo/archive/dubbo-2.5.8.zip
2)编译
cmd中进入解压后的目录,然后运行mvn install。然后到E:/incubator-dubbo-dubbo-2.5.8/dubbo-simple/dubbo-monitor-simple/target目录下复制出dubbo-monitor-simple-2.5.8-assembly.tar.gz到e:/,然后解压该文件,得到如下目录:
bin目录存放启动、关闭等命令。
conf配置文件。
lib依赖包。
1)dubbo-monitor端配置
2)provider端配置
1) consumer端配置
这样,在 provider、consumer运行的时候,通过该标签,会到注册中心找到dubbo-monitor这个服务。
4)启动dubbo-monitor之前dubbo-admin中的服务列表
1)启动和关闭
到dubbo-monitor-home/bin,运行start.cmd即可启动成功,并且看到了logs目录。然后到dubbo-admin下再次查看服务列表,比刚才多了一个服务,如图:
2)执行原理分析
参见dubbo结构图,dubbo-monitor启动后,原来的provider和consumer相对于monitor来说,都变成了消费者。因为他们都调用了MonitorService接口服务,每分钟调用一次,将这一分钟内产生的数据发送给monitor。启动程序并调用后这时显示MonitorServie服务为正常。
3)访问dubbo-monitor
http://localhost:8081
主要熟悉统计图页面。
4.备注
1)配置的注册中心要和被统计的provider/consumer是同一个注册中心
2)monitor和dubbo-admin一样,宕机不影响业务系统的运行,建议正式环境跟业务系统分开运行,因为其中一个系统配置出错会影响另外一个系统的启动。
3)如果provider、consumer、dubbo-monitor不在同一台机器,dubbo-monitor配置中的7070端口需要开启。
4)monitor宕机后,provider和consumer这两个服务仍然在每隔一分钟发送一次消息,导致后台报异常,虽然没有影响业务运行,如何在monitor宕机后自动不发统计信息?重启consumer即可,不必注销。
5.作业错误
1)部署dubbo-monitor到ecs,启动时一直如下所示:
原因:
a. dubbo-monitor的dubbo.properties配置了jetty端口为8081,结果跟tomcat集群中的端口冲突了;
b. 修改start.sh中的以下内容,因为我们的ECS都是1G内存的
c. 有其他方面的冲突,检查其他应用的端口等是否有冲突,例如tomcat本身就占N个端口。从这里也可以看出,在正是环境中,一定要分开机器运行这些服务。
2)dubbo-monitor中的统计图无法显示,显示的都是小叉,但是目录下有png图片
修改dubbo-monitor/conf/dubbo.properties中的内容,如上图所示,必须保证charts和statistics目录在monitor下面。
3)无法生成png图片
目录用的是绝对路径,配置也正确,但是无法生成png图片,可能的原因有:
a. 看看你的配置文件项dubbo.jetty.directory这个文件夹到底存不存在,默认不会自动给你创建的;
b. 确保生产者/消费者中的spring.xml有;
c. 如果以上2点确保正确,还是出现问题,建议改回之前的${user.home}配置方式,使用默认的${user.home}配置方式会在bin目录中生成统计图。
(下期见)
获取更多资源请关注微信公众号:AKA程序王