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

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里面是配置文件:

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次部署成功后很着急的上去看统计数据,可能没有,等一会儿就行了。

三、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很容易搞定部署。

四、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 修改这里面的配置

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 + simple-dubbo-monitor

c: dubbokeeper 一套

理由:监控服务,如果同时起多个,dubbo-admin里会有警告,而且监控数据存多份,也没必要。

时间: 2024-12-08 21:40:05

dubbox 的各种管理和监管界面的相关文章

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/

HTML5+规范:Webview(管理应用窗口界面)

一.知识点 Webview模块管理应用窗口界面,实现多窗口的逻辑控制管理操作.通过plus.webview可获取应用界面管理对象. 1.方法 1.1.all: 获取所有Webview窗口 Array[WebviewObject] plus.webview.all(); 说明:获取应用中已创建的所有Webview窗口,包括所有未显示的Webview窗口. 返回WebviewObject对象在数组中按创建的先后顺序排列,即数组中第一个WebviewObject对象用是加载应用的入口页面. 返回值:A

关于html5 -- plus Webview模块管理应用窗口界面

Webview模块管理应用窗口界面,通过plus.webview可获取应用界面管理对象. 方法: all:获取所有的webview窗口 close:关闭webview窗口 create:创建新的webview窗口 currentWebview:获取当前窗口的webviewObject对象 getWebviewById:查找指定标识的webviewObject对象 getLaunchWebview:获取应用首页webviewObject对象 hide:隐藏webveiw窗口 open:创建并打开w

NGUI 多场景情况下 管理多个界面

我们的游戏场景分布是这样的情况:注册/登陆界面 所在的场景A,游戏场景B.世界场景C.战斗场景D. 为了便于界面的管理(比如,你打开界面1->界面2->界面3,然后又跳转来跳转去的,这个时候如果将所有界面继承一个基类UIBase,然后保存在一个字典里,显示一个全屏界面就可以用一个for循环解决); 主要的做法就是:将所有的界面都放在A场景中,游戏一开始先加载场景A,然后所有的界面(UIRoot)都在同一个游戏对象下(比如叫AllUIGameObject),然后在代码里DontDestroyOn

.NET快速信息化系统开发框架 V3.2->Web版本“产品管理”事例编辑界面新增KindEditor复文本编辑控件

KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所见即所得编辑效果,兼容IE.Firefox.Chrome.Safari.Opera等主流浏览器.KindEditor使用JavaScript编写,可以无缝的于Java..NET.PHP.ASP等程序接合.KindEditor非常适合在CMS.商城.论坛.博客.Wiki.电子邮件等互联网应用上使用,2006年7月首次发布2.0以来,KindEditor依靠出色的用户体验和领先的技术不断扩大编辑器市场占有率,目前在国内

openwrt luci管理的Web界面实例

第一部分: template的方式实现网页显示hello world,如图显示: 第一步:/usr/lib/lua/luci/controller/admin/system.lua中注册选项: entry({"admin", "system", "test-template"}, template("test/hello"), _("test"), 3).dependent = false 第二步:在vie

管理外借设备的小工具(简化界面和优化手机界面的功能jquery mobile)

前阵子写了个小工具,后来经过经理的审核后给了我几个改进的建议,第一是简化界面,这个工具将来会用手机来进行管理,所以界面上要尽量简化,省去不必要的组件,第二是使用jquery mobile来美化界面,第三是使用ajax post方式来提交数据,避免传统的post方法重载整个页面. 第一,我加上了检测客户端设备的页面为首页,这样就能在访问首页的时候根据设备来做重定向, 此代码参考了csdn里某大牛的文章,做了部分修改,原文出自这里:链接 index.php代码为:     <?php        

安装Redis的图形界面管理工具phpRedisAdmin

安装Redis的图形界面管理工具phpRedisAdmin Redis还提供了一个图形界面管理工具phpRedisAdmin,与MySQL提供的phpMyAdmin页面管理工具类似,他们都是基于php代码的工具.phpRedisAdmin主要提供对key值的维护增删改查.对库的导入导出.查看info信息. 另外站在性能的角度上看,我不建议在线上redis环境中使用,毕竟phpRedisAdmin是一款对海量大数据进行管理的web界面,会消耗比较大的系统资源. 安装步骤: 1. 安装LAMP,参见

基于MVC4+EasyUI的Web开发框架形成之旅--框架总体界面介绍

在前面介绍了一些关于最新基于MVC4+EasyUI的Web开发框架文章,虽然Web开发框架的相关技术文章会随着技术的探讨一直写下去,不过这个系列的文章,到这里做一个总结,展示一下整体基于MVC4+EasyUI的界面效果,让大家对这款Web开发框架有一个形象的了解,界面设计以及相关思路可以借鉴提高,也可以对相关的内容进行相互探讨,共同提高. 技术特点:整个Web开发框架,界面部分采用较新的技术,包括MVC4,最新版本的EasyUI,以及zTree树形控件.Uploadify文件上传组件等模块,另外