Dubbo工具——dubbo-monitor监控平台的发布和使用

1)下载

https://github.com/alibaba/dubbo/archive/dubbo-2.5.8.zip

2)编译

cmd中进入解压后的目录,然后运行mvn install。然后到E:\incubator-dubbo-dubbo-2.5.8\dubbo-simple\dubbo-monitor-simple\target目录下复制出dubbo-monitor-simple-2.5.8-assembly.tar.gz到e:/,然后解压该文件,得到如下目录:

bin目录存放启动、关闭等命令。

conf配置文件。

lib依赖包。

  1. 配置

1)dubbo-monitor端配置

2)provider端配置

1) consumer端配置

这样,在 provider、consumer运行的时候,通过该标签,会到注册中心找到dubbo-monitor这个服务。

4)启动dubbo-monitor之前dubbo-admin中的服务列表

  1. 运行测试

1)启动和关闭

到dubbo-monitor-home/bin,运行start.cmd即可启动成功,并且看到了logs目录。然后到dubbo-admin下再次查看服务列表,比刚才多了一个服务,如图:

2)执行原理分析

参见dubbo结构图,dubbo-monitor启动后,原来的provider和consumer相对于monitor来说,都变成了消费者。因为他们都调用了MonitorService接口服务,每分钟调用一次,将这一分钟内产生的数据发送给monitor。启动程序并调用后这时显示MonitorServie服务为正常。

3)访问dubbo-monitor

http://localhost:8081

主要熟悉统计图页面。

4.备注

1)配置的注册中心要和被统计的provider/consumer是同一个注册中心

2)monitor和dubbo-admin一样,宕机不影响业务系统的运行,建议正式环境跟业务系统分开运行,因为其中一个系统配置出错会影响另外一个系统的启动。

3)如果provider、consumer、dubbo-monitor不在同一台机器,dubbo-monitor配置中的7070端口需要开启。

4)monitor宕机后,provider和consumer这两个服务仍然在每隔一分钟发送一次消息,导致后台报异常,虽然没有影响业务运行,如何在monitor宕机后自动不发统计信息?重启consumer即可,不必注销。

5.作业错误

1)部署dubbo-monitor到ecs,启动时一直如下所示:

原因:

a. dubbo-monitor的dubbo.properties配置了jetty端口为8081,结果跟tomcat集群中的端口冲突了;

b. 修改start.sh中的以下内容,因为我们的ECS都是1G内存的

c. 有其他方面的冲突,检查其他应用的端口等是否有冲突,例如tomcat本身就占N个端口。从这里也可以看出,在正是环境中,一定要分开机器运行这些服务。

2)dubbo-monitor中的统计图无法显示,显示的都是小叉,但是目录下有png图片

修改dubbo-monitor/conf/dubbo.properties中的内容,如上图所示,必须保证charts和statistics目录在monitor下面。

3)无法生成png图片

目录用的是绝对路径,配置也正确,但是无法生成png图片,可能的原因有:

a. 看看你的配置文件项dubbo.jetty.directory这个文件夹到底存不存在,默认不会自动给你创建的;

b. 确保生产者/消费者中的spring.xml有;

c. 如果以上2点确保正确,还是出现问题,建议改回之前的${user.home}配置方式,使用默认的${user.home}配置方式会在bin目录中生成统计图。

(下期见)

获取更多资源请关注微信公众号:AKA程序王

朋友外包干了5年java,居然不知道dubbo-monitor是怎么用的?的更多相关文章

  1. 朋友国企干了5年java,居然不知道Dubbo是做什么呢?我真信了

    点赞再看,养成习惯,微信搜一搜[三太子敖丙]关注这个喜欢写情怀的程序员. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系 ...

  2. 015-线程同步-synchronized几种加锁方式、Java对象头和Monitor、Mutex Lock、JDK1.6对synchronized锁的优化实现

    一.synchronized概述基本使用 为确保共享变量不会出现并发问题,通常会对修改共享变量的代码块用synchronized加锁,确保同一时刻只有一个线程在修改共享变量,从而避免并发问题. syn ...

  3. 【java初探外篇01】——关于Java修饰符

    本文记录在学习Java语言过程中,对碰到的修饰符的一些疑问,在这里具体的拿出来详细学习和记录一下,以作后续参考和学习. Java修饰符 Java语言提供了很多修饰符,但主要分两类: 访问修饰符 非访问 ...

  4. hibernate4一对多关联多方多写一次外键导致无法创建java.lang.NullPointerException以及Cannot add or update a child row: a foreign key constraint fails

    一篇文章里边有多张图片,典型的单向一对多关系 多方 当程序运行到这一句的时候必然报错 但是参考书也是这样写的 其中em是 EntityManager em = JPA.createEntityMana ...

  5. Java简单操作dubbo(一)

    dubbo-service公共Service package com.itman.service; public interface UserService { // 提供服务 使用userId查找用 ...

  6. java反射调用dubbo接口

    需求:项目增加幂等 场景:1.三个项目:a .b.c2.a项目加幂等3.b项目dubbo调用项目a的时候超时没有获取返回结果,增加重试机制(非立即重试,3min or 5min 后重试)4.c项目是一 ...

  7. How use Nmon and "Java Nmon Analyzer" for Monitor Linux Performance

    Nmon is a  resource monitoring tools which can monitor CPU, Memory, Disks, Network and even Filesyst ...

  8. java多线程——监视锁(monitor)(转)

    https://blog.csdn.net/hqq2023623/article/details/51000153 java中每个对象都有唯一的一个monitor,想拥有一个对象的monitor的话有 ...

  9. 【Jmeter测试】使用Java请求进行Dubbo接口的测试

    如何构建一个Dubbo接口测试的通用框架(https://github.com/nitibu/jmeter-dubbo-test)​从上面的流程我们可以看出,测试类大致的一个结构: 使用json文件来 ...

随机推荐

  1. GlusterFs卷类型分析及创建、使用(结合kubernetes集群分析)

    引言 本文通过对卷类型的分析对比,来帮助读者选取生产环境最符合服务的挂载存储,命令可结合<glusterfs详解及kubernetes 搭建heketi-glusterfs>进行实验,下面 ...

  2. yolo进化史之yolov3

    yolov3的论文写的比较简略,不看yolov1,yolov2很难直接看懂. 建议先看v1,v2论文. yolov3主要做了几点改进 改进了特征提取部分的网络结构 多尺度预测 分类由softmax改为 ...

  3. Charles 破解版免费下载和注册安装教程

    本文参考:[Charles 破解版免费下载和注册安装教程](https://www.axihe.com/tools/charles/charles/free-use.html) **软件开发不易,请尽 ...

  4. MOOC web前端开发笔记(一)

    网站和网页 网站 互联网上用于展示特定内容的相关网页的集合. 网页 网站中的一页,一个网站中的网页通过"超链接"的方式被组织在一起. 主页 进入网站看到的第一个网页,主页的文件名通 ...

  5. Hadoop 之 Hadoop2.0

    1.Hadoop2.0与1.0 答:Hadoop2.0之后的版本移除了原有的JobTracker和TaskTracker,改由Yarn平台的ResourceManager负责集群中所有资源的管理和分配 ...

  6. JAVA数据处理的常用技术

    背景 在实际开发中,数据的处理有五种:获取.传输.存储.分析.转换.每种各对应一些常用的技术. 序列化和反序列化 序列化是将对象的信息转换为可传输或可存储形式的过程.反序列化就是反过来让这些可传输的. ...

  7. C++基础之string类

    string也是属于顺序容器,但是string类很重要且经常使用,因此在这里单独记录. string的操作总结 string(const char *s,int n);  //用c字符串s初始化,s应 ...

  8. 常用HBase操作

    HBase是一个分布式.面向列的数据库,可以用来存储非结构化和半结构化的松散数据,具有高可靠.高性能.面向列.可伸缩的特性.通过行键(RowKey).列族(ColumnFamily).列(Column ...

  9. 新手学习FFmpeg - 通过API实现可控的Filter调用链

    虽然通过声明[x][y]avfilter=a=x:b=y;avfilter=xxx的方式可以创建一个可用的Filter调用链,并且在绝大多数场合下这种方式都是靠谱和实用的. 但如果想精细化的管理AVF ...

  10. layDate——初步使用

    layui系列中layDate的使用教程网址 https://www.layui.com/laydate/ 我这里简单举例: 1.引入js <script type="text/jav ...