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
1
2
3
|
dubbo.registry.address=zookeeper: //127 .0.0.1:2181?backup=127.0.0.1:2182,127.0.0.1:2183
dubbo.admin.root.password=root dubbo.admin.guest.password=guest |
即用户名、密码均为root,登录成功后,刷新下页面,如果提示404之类的,退回到http://localhost:8080/浏览(这个跟部署的contextPath有关,如果contextPath设置为/dubbo-admin,刷新下就可以了,如果contextPath设置成/,则登录后要退回/浏览)
dubbo的服务治理是其特色之一,管理界面如下:
二、dubbo-monitor-simple 部署
打包后,目录dubbo-simple/dubbo-monitor-simple/target中会生成dubbo-monitor-simple-xxx-assembly.tar.gz,用tar -zxvf *.gz 解压,解压后有三个子目录bin、conf、lib ,conf里面是配置文件:
1
2
3
4
5
6
7
8
9
10
11
|
dubbo.container=log4j,spring,registry,jetty dubbo.application.name=simple-monitor dubbo.application.owner= dubbo.registry.address=zookeeper: //127 .0.0.1:2181
dubbo.protocol.port=7070 dubbo.jetty.port=8180 dubbo.jetty.directory= /data/dubbo/monitor
dubbo.charts.directory=${dubbo.jetty.directory} /charts
dubbo.statistics.directory=${user.home} /monitor/statistics
dubbo.log4j. file =logs /dubbo-monitor-simple .log
dubbo.log4j.level=WARN |
参考上面改,然后bin下有一个start.sh脚本,启动即可,访问后浏览http://localhost:8180 (端口号要跟配置里一致)
这是调用次数的统计
这是图表统计
这是服务之间的依赖关系
注:官网的监控是把所有监控数据(主要是统计数据和表图数据)保存到服务器磁盘上的,运行时间久了,硬盘可能会撑满,要注意及时清理(就是配置文件里面配置的3个目录下)。监控数据也并非实时统计的,所以第1次部署成功后马上去看统计数据,可能没有,随便跑一个service provider/service consumer的用例,然后等一会儿就行了。
三、dubbo-monitor-x
oschina有一个开源项目:http://git.oschina.net/handu/dubbo-monitor (为了与dubbox里的dubbo-monitor子项目名称上分开,我在后面加了-x),其中的开发者『马金凯』,也是dubbox的作者之一。
不过,这个版本好象有点bug,charts上图表展示时会报错,我跟了下代码,是sql的问题,已经在个人fork的分支上修复,有兴趣的可以参考。
注:与官网的监控存储方案不同,dubbo-monitor-x是把数据保存在mysql里的,参考README.md很容易搞定部署。
此外,该版本还有一个mongodb的分支,见:dubbo-monitor-mongo (推荐使用)
四、dubbo keeper
这是托管在git上的项目,地址为:https://github.com/dubboclub/dubbokeeper,从github用户信息上的邮箱后缀看,可能是阿里云的人发起的,与前面的项目不同,这个项目把管理+监控集成在一起了,而且存储方案除了mysql,还支持mongodb,lucene,不过好象项目没做完,只覆盖了dubbo-admin官方功能的90%左右(比如:添加路由功能就没有),如果这个项目逐渐完善了,个人觉得最有前途。
该项目部署略复杂:
4.1 如果决定用mysql存储,先执行根目录下的install-mysql.sh
4.2 然后在target目录下,dubbokeeper/target/mysql-dubbokeeper-server/mysql-server/conf 修改这里面的配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
dubbo.application.name=mysql-monitor dubbo.application.owner=bieber dubbo.registry.address=zookeeper: //localhost :2181
dubbo.protocol.name=dubbo dubbo.protocol.port=20884 monitor.collect.interval=100 #usered netty4 dubbo.provider.transporter=netty4 #mysql dubbo.monitor.mysql.url=jdbc:mysql: //default :3306 /dubbokeeper
dubbo.monitor.mysql.username=root dubbo.monitor.mysql.password=123456 dubbo.monitor.mysql.pool.max=10 dubbo.monitor.mysql.pool.min=10 |
主要是zk及mysql的连接信息,以及端口号,然后执行上一级目录../bin下的start-mysql.sh 启动监控数据的存储服务(即:mysql-dubbokeeper-server本身就是一个dubbo服务,用于保存监控数据)
4.3 dubbokeeper/target/mysql-dubbokeeper-ui这个下面的war包扔到tomcat或jetty部署即可(这个才是真正的管理+监控 UI),如果启动失败,检查
dubbokeeper/dubbokeeper-ui/src/main/resources/dubbo.properties 配置是否正确,如果不对,改正确了,再重新打包部署。
这个项目可以很方便的看各项目的依赖关系图。
以及每个服务的调用次数等信息,可惜没有关键的QPS数据
问题:这几套方案统计出来的数据,对于同样的用例,都不一样,也是醉了,不知道哪家的更准,看个人喜好吧。
下面推荐几种搭配:
a: 官方的dubbo-admin + 韩都的dubbo-monitor-x
b: 全官方的dubbo-admin + dubbo-monitor-simple
c: dubbokeeper 一套
监控服务,如果同时起多个dubbo-admin里会有警告,而且监控数据存多份也没必要,所以不管怎么搭配,不要将dubbo-monitor-simple、dubbo-monitor-x、dubbokeeper同时部署在一个ZK注册中心。
原文地址:http://www.cnblogs.com/yjmyzz/p/dubbo-admin-monitor-deploy.html
相关推荐
Dubbox 是由淘宝开源的一个基于 Java 的分布式服务框架,它是基于阿里巴巴的 Dubbo 进行了扩展和优化。Dubbox 提供了更多的特性和更好的社区支持,使其在微服务架构中广泛应用。本篇文章将深入探讨 Dubbox 的核心...
【标题】"dubbox 源码jar包约束文件管理中心"主要涉及到的是关于DUBBO框架的一个扩展——dubbox以及与之相关的组件和资源。这个标题暗示了我们将要探讨的是一个集成了dubbox源码、jar包、监控工具和配置文件的综合...
Dubbox是基于Spring框架的RPC服务框架,由淘宝开源,它是Dubbo的增强版,提供了更多的功能和更好的社区支持。本篇文章将深入探讨Dubbox的详细配置和实践案例,帮助你理解和掌握如何在项目中有效地使用它。 首先,让...
Dubbox 是一个基于 Spring 和 Apache Dubbo 的微服务框架,由淘宝开源,旨在提供轻量级、高性能的服务治理方案。2.8.4 版本是 Dubbox 的一个稳定版本,可能包含了一些新特性、优化或者修复了已知的问题。由于在阿里...
8. **扩展性(Extension)**:Dubbox采用SPI(Service Provider Interface)设计模式,允许用户自定义并替换各种组件,如协议、序列化方式、负载均衡策略等,增强了系统的可扩展性。 9. **API与配置(API & Config...
1. **pom.xml**:Maven的项目对象模型,定义了项目的依赖管理,包括dubbox和Spring MVC的版本。 2. **src/main/java**:源代码目录,包含了服务提供者和服务消费者的相关接口和实现类,以及Spring MVC的Controller。...
【标题】:“Dubbox2.8.4 admin 和 monitor”是指Dubbox框架的两个关键组件,即Dubbo管理员界面(dubbo-admin)和监控中心(dubbo-monitor)。这两个组件在Dubbox 2.8.4版本中扮演着重要的角色,帮助开发者管理和监控...
Dubbox是Alibaba开源的一款高性能、轻量级的Java RPC框架,它是Dubbo的增强版,包含更多的扩展功能和优化。在本文中,我们将深入探讨Dubbox的部署过程以及如何与Zookeeper配合实现分布式服务。 首先,我们需要理解...
【描述】中提到的"根据当当源码打包成的dubbox"意味着这个压缩包包含了dubbox项目的源代码和构建结果。开发者或使用者可以直接将这个压缩包导入到本地的Maven仓库,无需从远程仓库下载,从而加快项目的构建速度。...
【标题】"dubbox2.8.4版本的dubbo-admin"是基于Apache Dubbo构建的一个管理控制台,主要用于监控和管理Dubbo服务。Dubbo是一个高性能、轻量级的开源Java RPC框架,它提供了服务治理、负载均衡、容错、监控等一系列...
dubbo admin 管理控制台 基于dubbox 2.8.4 编译
【标题】"dubbox-admin2.8.4" 是一个基于Dubbo、Zookeeper和Kafka构建的RPC(远程过程调用)架构的管理平台。这个版本的dubbo-admin是一个用于监控和管理Dubbo服务的Web界面,它提供了一个方便的用户界面,帮助...
1. 使用Maven创建一个新的Java项目,Maven是一个项目管理和综合工具,它可以帮助我们管理项目的依赖关系。 2. 在`pom.xml`中添加Dubbox的相关依赖,包括dubbo、spring等核心库,确保版本与项目需求相匹配。 ```xml ...
同时,Dubbox也支持Spring整合,可以方便地与Spring应用结合,简化配置和管理。 总结来说,Dubbox2.8.4提供了一套全面的分布式服务解决方案,涵盖了服务治理的各个方面。通过安装和使用源码,开发者不仅能深入了解...
Dubbox 是一款基于阿里巴巴 Dubbo 框架的扩展,它增强了原生 Dubbo 的功能,使得在分布式服务环境中能够更高效地管理和部署服务。Dubbox 主要关注于微服务架构中的服务治理和服务发现,是分布式系统开发的重要工具。...
【标题】"已经打包好的dubbox示例"所涉及的知识点主要集中在使用dubbox这一框架构建服务提供者(Provider)和服务消费者(Consumer)的实践中。dubbox是基于Dubbo的扩展版本,它提供了更多的特性,如RESTful支持、...
《构建基于Spring-boot和dubbox的API接口与后台管理系统》 在当今信息化时代,高效、稳定的后台管理系统是企业运营的核心。本项目采用Spring-boot和dubbox技术栈,旨在构建一套灵活、可扩展的API接口及后台管理系统...
**流动计算架构**:随着服务数量的增多,如何有效管理和调度这些服务成为了一个新问题。这就需要一个调度中心来根据实际访问压力动态调整资源分配,从而提高资源利用率和服务的整体性能。 Dubbox是在Apache Dubbo...
Dubbox-admin 是 Dubbo 框架中的一个关键组件,它提供了一个可视化的管理界面,方便开发者对服务进行监控、管理和调试。 这个“dubbox-admin的war包”实际上是一个 Web 应用程序的归档文件,通常用于在Java Web ...