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. vscode使用sftp同步服务器文件

    环境介绍 服务器:腾讯云 + centos + onestack搭建好的lnmp环境 本地:mac 安装openssh sudo yum install openssh-client openssh- ...

  2. Mysql高手系列 - 第10篇:常用的几十个函数详解,收藏慢慢看

    这是Mysql系列第10篇. 环境:mysql5.7.25,cmd命令中进行演示. MySQL 数值型函数 函数名称 作 用 abs 求绝对值 sqrt 求二次方根 mod 求余数 ceil 和 ce ...

  3. VMware 虚拟机三种网络模式详解

    一.前言 Vmware 为我们提供了三种网络工作模式,分别是:Bridged(桥接模式).NAT(网络地址转换模式).Host-only(仅主机模式). 二.VMware 的几个常见虚拟设备 打开 V ...

  4. java 线程监控

    线程的五种状态 * 新建:new * 运行:runnable * 等待:waitting(无限期等待),timed waitting(限期等待) * 阻塞:blocked * 结束:terminate ...

  5. 上手Dubbo之 环境搭建

    和传统ssm整合--写XML配置文件 搭建服务的提供者和服务的消费者,实现服务消费者跨应用远程调用服务提供者 公共模块抽取 公共模块的抽取 服务的消费者远程调用服务的提供者, 最起码他自己要得到在服务 ...

  6. 07 (OC)* XIB原理和Xib、storyBoard、代码的优缺点

    1:可读性 2:可视化界面.立马看到 3:开发速度. 4:复用性 5:维护性差 本质 编译时对xml文件做了如下操作1,读取xml文件,生成所有界面对象,生成所有object(即自定义的control ...

  7. 搭建第一个node服务器

    1.在项目文件夹根目录创建app.js: (1)先引入模块 const http = require('http');//http是安装好node就有的一个模块,是用来创建http服务器的 (2)创建 ...

  8. Java秒杀系统优化的工程要点

    这篇博客是笔者学习慕课网若鱼老师的<Java秒杀系统方案优化 高性能高并发实战>课程的学习笔记.若鱼老师授课循循善诱,讲解由浅入深,欢迎大家支持. 本文记录课程中的注意点,方便以后code ...

  9. Java匹马行天下之Java帝国的崛起(大结局)

    Java匹马行天下之Java帝国的崛起大结局 前言: [博客*缘] 网络真情伴, 博客友谊连. 笑中藏泪暖中寒. 回想那些悲喜, 苦涩也缠绵. 往事难回首, 新篇染旧言. 世间多少梦能全. 感谢相牵, ...

  10. adb之wm学习笔记

    为什么学习adb的wm指定 自动化测试平台获取手机的屏幕分辨率 adb -s iphoneCode shell wm usage: wm [subcommand] [options] wm size ...