dubbox 的各种管理和监管[转]
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:2183dubbo.admin.root.password=rootdubbo.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,jettydubbo.application.name=simple-monitordubbo.application.owner=dubbo.registry.address=zookeeper://127.0.0.1:2181dubbo.protocol.port=7070dubbo.jetty.port=8180dubbo.jetty.directory=/data/dubbo/monitordubbo.charts.directory=${dubbo.jetty.directory}/chartsdubbo.statistics.directory=${user.home}/monitor/statisticsdubbo.log4j.file=logs/dubbo-monitor-simple.logdubbo.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-monitordubbo.application.owner=bieberdubbo.registry.address=zookeeper://localhost:2181dubbo.protocol.name=dubbodubbo.protocol.port=20884monitor.collect.interval=100#usered netty4dubbo.provider.transporter=netty4#mysqldubbo.monitor.mysql.url=jdbc:mysql://default:3306/dubbokeeperdubbo.monitor.mysql.username=rootdubbo.monitor.mysql.password=123456dubbo.monitor.mysql.pool.max=10dubbo.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 的各种管理和监管[转]的更多相关文章
- dubbox 的各种管理和监管
dubbo官方自带了dubbo-admin及dubbo-simple/dubbo-monitor-simple二个子项目用于服务治理及服务监控. 一.dubbo-admin的部署 这个比较简单,编译打 ...
- 分布式服务框架 dubbo/dubbox 入门示例
dubbo是一个分布式的服务架构,可直接用于生产环境作为SOA服务框架. 官网首页:http://dubbo.io/ ,官方用户指南 http://dubbo.io/User+Guide-zh.htm ...
- 监控与管理dubbo服务
Dubbo是阿里多年前开源的一套服务治理框架,在众多互联网企业里应用广泛.本文介绍了一些如何监控与管理dubbo服务.使用的工具与<dubbox 的各种管理和监管>大致相同,本文更侧重于命 ...
- 服务化实战之 dubbo、dubbox、motan、thrift、grpc等RPC框架比较及选型
转自: http://blog.csdn.net/liubenlong007/article/details/54692241 概述 前段时间项目要做服务化,所以我比较了现在流行的几大RPC框架的优缺 ...
- dubbo、dubbox、motan、thrift、grpc等RPC框架比较及选型
概述 前段时间项目要做服务化,所以我比较了现在流行的几大RPC框架的优缺点以及使用场景,最终结合本身项目的实际情况选择了使用dubbox作为rpc基础服务框架.下面就简单介绍一下RPC框架技术选型的过 ...
- Dubbox 环境搭建-新(Windows下)
分布式服务框架 dubbo/dubbox 入门示例 dubbo是一个分布式的服务架构,可直接用于生产环境作为SOA服务框架. 官网首页:http://dubbo.io/ ,官方用户指南 http:// ...
- RPC调用框架比较分析
什么是RPC: RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议. 简言之,RPC ...
- 分布式服务框架dubbo入门实例
dubbo是一个分布式的服务架构,可直接用于生产环境作为SOA服务框架. 官网首页:http://dubbo.io/ ,官方用户指南 http://dubbo.io/User+Guide-zh.htm ...
- Dubbo详细介绍与安装使用过程
今天看到一篇不错的dubbo介绍教程,原文链接:http://blog.csdn.net/xlgen157387/article/details/51865289 1 Dubbo介绍 1.1 dubb ...
随机推荐
- 9个绚丽多彩的HTML5进度条动画赏析
进度条在网页应用中越来越广泛了,特别是现在的页面异步局部刷新时代,进度条可以让用户更好的等待操作结果.本文要分享9款绚丽多彩的HTML5进度条动画,有很多还是挺实用的,效果也非常不错. 1.CSS3发 ...
- LeetCode: Balanced Binary Tree 解题报告
Balanced Binary Tree Given a binary tree, determine if it is height-balanced. For this problem, a he ...
- 【论文笔记】Training Very Deep Networks - Highway Networks
目标: 怎么训练很深的神经网络 然而过深的神经网络会造成各种问题,梯度消失之类的,导致很难训练 作者利用了类似LSTM的方法,通过增加gate来控制transform前和transform后的数据的比 ...
- 删除mysql备份文件
前言:前篇介绍了mysql的备份方法,但备份不是越多越好,如果磁盘空间不够用,我需要保留近一个周的备份就可以了,那就需要删除备份脚本了,特别注意删除操作比较危险,变量传参要进行二次确认. 下面给出删除 ...
- idea Error:(1, 10) java: 需要class, interface或enum, 未结束的字符串文字,Error:(55, 136) java: 非法字符: \65533
1.未结束的字符串文字,Error:(55, 136) java: 非法字符: \65533 这些乱七吧八遭的错误如果很多的话 , 尝试 重新修改下生成目录 修改下语言等级 上述方法都不行 ,还报错 ...
- Highcharts 多个Y轴动态刷新数据
效果图: js代码: $(function() { $(document).ready(function() { Highcharts.setOptions({ global: { useUTC: f ...
- Phrase-Based & Neural Unsupervised Machine Translation基于短语非监督机器翻译
1. 前言 本文介绍一种无监督的机器翻译的模型.无监督机器翻译最早是<UNSUPERVISED NEURAL MACHINE TRANSLATION>提出.这个模型主要的特点,无需使用平行 ...
- mongo源码学习(四)invariant
前言 在看MongoDB源码的时候,经常会看到这个玩意儿:invariant. invariant的字面意思是:不变式. 在emacs上跳转到函数定义要安装一个插件,ggtags,费了老大劲儿.这都可 ...
- C语言 · 求arccos值
算法提高 7-2求arccos值 时间限制:10.0s 内存限制:256.0MB 问题描述 利用标准库中的cos(x)和fabs(x)函数实现arccos(x)函数,x取值范围是[- ...
- at91 看门狗
看 门狗的驱动一般来说比较简单,只要做寄存器的设置实现开启.关闭.喂狗功能.本项目中我们使用的是at91sam9g45处理器,带有看门狗定时器.这个 看门狗的驱动却比较复杂,应用层想用它的话,将涉及到 ...