dubbo每种协议的应用场景(Dubbo监控和管理dubbokeeper)

dubbo每种协议的应用场景(Dubbo监控和管理dubbokeeper)(1)

dubbo服务原理图

1. Dubbo服务管理和监控的选择

Dubbo服务的监控官方提供dubbo-monitor-simple, 韩都衣舍的dubbo-monitor-x, 还有dubbokeeper下面推荐几种搭配:a: 官方的dubbo-admin 韩都的dubbo-monitor-xb: 官方的dubbo-admin dubbo-monitor-simplec: dubbokeeper 一套试验过dubbo-monitor安装和测试效果不是太好,最近有测试dubbokeeper,他包括了管理和监控,并且和透视Zookeeper其他中心.但是这里发现监控的数据准确性不高。监控只是一方面,真正还是希望发送故障时可以第一时间告警,dubbokeeper没有告警功能。

2. Dubbokeeper服务安装和配置

下载源码 git clone https://github.com/dubboclub/dubbokeeper.git 用mysql存储,先执行根目录下的 install-mysql.sh 在target目录下 监控数据存储和收集 dubbokeeper/target/mysql-dubbokeeper-server/mysql-server/conf 修改这里面的配置 配置监控的zookeeper注册中心 dubbo.application.name=mysql-monitor dubbo.application.owner=bieber dubbo.registry.address=zookeeper://192.168.15.203:2181 dubbo.protocol.name=dubbo dubbo.protocol.port=20884 monitor.collect.interval=10000 #use netty4 dubbo.provider.transporter=netty4 monitor.write.interval=60 #mysql配置 如果是远程的localhost改为mysql所做主机mysql 端口根据需要修改。后面的是你创建用来存储监控的数据库名 dubbo.monitor.mysql.url=jdbc:mysql://localhost:3306/dubbo-monitor dubbo.monitor.mysql.username=root dubbo.monitor.mysql.password=wlw123456 dubbo.monitor.mysql.pool.max=10 dubbo.monitor.mysql.pool.min=10

此处需要特别注意:因为使用mysql数据库存储因此在此之前必须先安装mysql软件可以安装在同一个机器上也可以安装在其他机器上但是要能连接上去初始化数据库:

CREATE TABLE `application` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL DEFAULT '', `type` varchar(50) NOT NULL DEFAULT '', PRIMARY KEY (`id`), UNIQUE KEY `应用名词索引` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

3. 管理和UI展示

dubbokeeper/target/mysql-dubbokeeper-ui这个下面的war包dubbokeeper-ui-1.0.1.war扔到tomcat或jetty部署即可(这个才是真正的管理 监控 UI)这里需要注意需要安装好tomcat并且在将war放到tomcat的webapp下面删除tomcat的默认文件。重启tomcat,在webapp下发现多了个文件夹dubbokeeper-ui-1.0.1修改dubbokeeper-ui-1.0.1/WEB-INF/classes下的dubbo.properties

设置zookeeper注册中心 此处需要和上面设置的mysql-monitor一样 dubbo.application.name=common-monitor dubbo.application.owner=bieber dubbo.registry.address=zookeeper://192.168.15.203:2181 #use netty4 dubbo.reference.client=netty4 #peeper config 此处可以配置多个zookeeper注册中心可以透视zookeeper服务 peeper.zookeepers=101.89.137.26:2181,101.89.177.224:2181,180.153.53.160:2181,192.168.15.203:2181 peeper.zookeeper.session.timeout=60000 #logger 日志文件 monitor.log.home=/monitor-log monitor.collect.interval=6000

重新配置以后,删除掉war包。重启tomcat服务http://192.168.199.90:82/dubbokeeper-ui-1.0.1/index.htm#/statistics

dubbo每种协议的应用场景(Dubbo监控和管理dubbokeeper)(2)

dubbo每种协议的应用场景(Dubbo监控和管理dubbokeeper)(3)

4. 服务端和客户端配置
  • monitor

dubbo每种协议的应用场景(Dubbo监控和管理dubbokeeper)(4)

打开monitor时报错如上图,没有启动dubbo-monitor-server导致的

cd /root/dubbokeeper/target/mysql-dubbokeeper-server/bin chmod x start-mysql.sh ./start-mysql.sh

dubbo每种协议的应用场景(Dubbo监控和管理dubbokeeper)(5)

如上图就是启动成功了,在此过程中可能会遇到数据库连接报错,修改配置文件中数据库部分,如果找不到数据库名称,检查新建的数据库名和初始化表是否正确。此处需要注意:后台运行可以使用nohup ./start-mysql.sh上述操作以后发现monitor下面并没有数据:

1. 数据有问题,里面没有生成数据。检查两个配置文件中设置zookeeper中心是否相同 2. 数据库是否初始化 3. Dubbo服务的提供者和消费者是否设置spring-dubbo.xml <!-- 监控中心--> <dubbo:monitor protocol="registry" /> 4. 如果都设置了等待一会儿,可能需要你去调用一次服务触发下就可以看到

dubbo每种协议的应用场景(Dubbo监控和管理dubbokeeper)(6)

查看dubbo服务,展示耗时、并发等,显示详细的调用情况

dubbo每种协议的应用场景(Dubbo监控和管理dubbokeeper)(7)

dubbo每种协议的应用场景(Dubbo监控和管理dubbokeeper)(8)

  • Zookeeper

dubbo每种协议的应用场景(Dubbo监控和管理dubbokeeper)(9)

  • Admin管理应用管理包含当前系统所有的应用信息列表,以及各个引用服务引用消费列表信息,同时可以对某个应用的服务进行上下线操作,权重调整等,同时可以查看应用部署实体信息列表。目的是实现服务的可管理动态配置这是利用dubbo基于注册中心来管理服务实现对服务的参数在服务运行状态进行调整,比如对服务的超时时间调整,对服务的mock以及可以添加自定义参数的调整等,目的是服务的可配置。

dubbo每种协议的应用场景(Dubbo监控和管理dubbokeeper)(10)

此工具的admin功能不是很全,建议可以使用官方提供的dubbo-admin进行管理作者:十二楼中月链接:https://www.jianshu.com/p/a022e1305e66来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页