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/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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/107615.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 大数据时代的大数据管理发展,经历了哪几个阶段?

    大数据时代的大数据管理发展,经历了哪几个阶段?近几年,在大数据管理不断发展的过程中,也取得了一定的成绩。但是,大数据管理也经历了一个漫长的过程,主要经历的人工、文件、数据库等管理阶段。同时,随着大数据时代的大数据不断增加,所管理的范围和环境也在不断的变化。并且,在大数据管理不断发展的过程中,一些管理问题逐渐的暴露出来,为大数据管理的发展带来了新的挑战和机遇,下面就大数据管理的发展历程,管理中存在的不足进行简要的分析和阐述。1.大数据时代的…

  • 大数据应用的现实案例

    大数据应用的现实案例互联网企业拥有大量的线上数据,而且数据量还在快速增长,除了利用大数据提升自己的业务之外,互联网企业已经开始实现数据业务化,利用大数据发现新的商业价值。以阿里巴巴为例,它不仅在不断加强个性化推荐、“千人千面”这种面向消费者的大数据应用,并且还在尝试利用大数据进行智能客户服务,这种应用场景会逐渐从内部应用延展到外部很多企业的呼叫中心之中。在面向商家的大数据应用中,以“生意参谋”为例,超过600万商家在利用“生意参谋”提升自己的电商店面运营水平。除了面向自己的生态之外,阿里巴巴数据业务化也在不断加速,

  • BS架构与CS架构的区别(最详细)「建议收藏」

    BS架构与CS架构的区别(最详细)「建议收藏」BS架构与CS架构的区别引言特点C/S系统结构B/S系统结构CS与BS的比较C/S与B/S区别:现状与趋势(转自知乎)引言C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。B/S结构,即Browse…

    2022年10月17日
  • Word中怎样删除分节符而不影响前节页面设置

    Word中怎样删除分节符而不影响前节页面设置

  • nginx php apache php 对比,Apache和nginx的比较「建议收藏」

    nginx php apache php 对比,Apache和nginx的比较「建议收藏」nginx相对apache的优点:● 轻量级,同样起web服务,比apache占用更少的内存及资源● 抗并发,nginx处理请求是异步非阻塞的,而apache则是阻塞型的,在高并发下nginx能保持低资源低消耗高性能● 高度模块化的设计,编写模块相对简单● 社区活跃,各种高性能模块出品迅速啊● Nginx支持更多的并发连接,能够支持高达50000个并发连接数的相应● 能在不间断服务…

  • 都2022了,不会还有人不会idea注释相关的配置吧,速进本文

    都2022了,不会还有人不会idea注释相关的配置吧,速进本文####缘由  相信大家在写代码的时候,为了可以让自己明白以及他人可以明白,都会都在项目代码中加上注释,写注释也是有讲究的,注释分为两种,一种类注释,另一种方法注释。![在这里插入图片描述](https://img-blog.csdnimg.cn/2f8cde1992434945b1875114529607f6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Iqd5aOr5

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号