朋友外包干了5年java,居然不知道dubbo-monitor是怎么用的?
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)dubbo-monitor端配置

2)provider端配置
1) consumer端配置
这样,在 provider、consumer运行的时候,通过该标签,会到注册中心找到dubbo-monitor这个服务。
4)启动dubbo-monitor之前dubbo-admin中的服务列表


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

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

3)访问dubbo-monitor
主要熟悉统计图页面。
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是怎么用的?的更多相关文章
- 朋友国企干了5年java,居然不知道Dubbo是做什么呢?我真信了
点赞再看,养成习惯,微信搜一搜[三太子敖丙]关注这个喜欢写情怀的程序员. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系 ...
- 015-线程同步-synchronized几种加锁方式、Java对象头和Monitor、Mutex Lock、JDK1.6对synchronized锁的优化实现
一.synchronized概述基本使用 为确保共享变量不会出现并发问题,通常会对修改共享变量的代码块用synchronized加锁,确保同一时刻只有一个线程在修改共享变量,从而避免并发问题. syn ...
- 【java初探外篇01】——关于Java修饰符
本文记录在学习Java语言过程中,对碰到的修饰符的一些疑问,在这里具体的拿出来详细学习和记录一下,以作后续参考和学习. Java修饰符 Java语言提供了很多修饰符,但主要分两类: 访问修饰符 非访问 ...
- hibernate4一对多关联多方多写一次外键导致无法创建java.lang.NullPointerException以及Cannot add or update a child row: a foreign key constraint fails
一篇文章里边有多张图片,典型的单向一对多关系 多方 当程序运行到这一句的时候必然报错 但是参考书也是这样写的 其中em是 EntityManager em = JPA.createEntityMana ...
- Java简单操作dubbo(一)
dubbo-service公共Service package com.itman.service; public interface UserService { // 提供服务 使用userId查找用 ...
- java反射调用dubbo接口
需求:项目增加幂等 场景:1.三个项目:a .b.c2.a项目加幂等3.b项目dubbo调用项目a的时候超时没有获取返回结果,增加重试机制(非立即重试,3min or 5min 后重试)4.c项目是一 ...
- 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 ...
- java多线程——监视锁(monitor)(转)
https://blog.csdn.net/hqq2023623/article/details/51000153 java中每个对象都有唯一的一个monitor,想拥有一个对象的monitor的话有 ...
- 【Jmeter测试】使用Java请求进行Dubbo接口的测试
如何构建一个Dubbo接口测试的通用框架(https://github.com/nitibu/jmeter-dubbo-test)从上面的流程我们可以看出,测试类大致的一个结构: 使用json文件来 ...
随机推荐
- a149: 乘乘樂
题目: 你拿到一个整数,却忍不住想把每个位数都乘在一起.例如看到356就会想要知道3 * 5 * 6的值为何.快写个程序帮帮为了乘数字而快发疯的自己吧! 思路:把这个数每一位%10,并且再将它每次/1 ...
- 渐进深入理解Nginx
文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. 之前其实写过一篇文章具体介绍过:最基础的Nginx教学,当时有提到过Nginx有一个重要的功能:负载均衡.所以 ...
- django配置静态文件的两种方法
方法一:按照django配置静态文件的方法,可以在APP应用目录下创建一个static的文件夹,然后在static文件夹下创建一个和APP同名的文件夹,如我有一个blog的django项目,在下面有一 ...
- 使用 Envoy 和 AdGuard Home 阻挡烦人的广告
原文链接:使用 Envoy 和 AdGuard Home 阻挡烦人的广告 通常我们使用网络时,宽带运营商会为我们分配一个 DNS 服务器.这个 DNS 通常是最快的,距离最近的服务器,但会有很多问题, ...
- Qt无边框窗体-模拟模态窗体抖动效果
目录 一.概述 二.效果展示 三.功能实现 四.相关文章 原文链接:Qt无边框窗体-模拟模态窗体抖动效果 一.概述 用Qt开发windows客户端界面确实是一大利器,兼顾性能的同时,速度相对来说也不错 ...
- Day 16 软件管理
1.RPM基本概述 1.什么是rpm? RPM全称 RPM Package Manager 缩写,由红帽开发用于软件包的安装升级卸载与查询 2.如何获取rpm包 在我们刚开始学习rpm包,建议先使用本 ...
- 夯实Java基础系列1:Java面向对象三大特性(基础篇)
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 [https://github.com/h2pl/Java-Tutorial](https: ...
- [C++] 重载new和delete——控制内存分配
1.new和delete表达式的工作机理 1)new表达式实际执行了三步 string *sp=new string("aaaa"); ];//string采用默认初 ...
- 连接电脑时,无法启用USB调试
原因: 手机悬浮球 解决方案: 取消悬浮球,停止一切悬浮应用 (下面的废话可以不听) 预置条件: 手机已经打开开发者模式 开启USB调试模式 电脑能检测到手机 故事背景: 经常用手机连接电脑进行adb ...
- Spring 梳理 - View - JSON and XML View
实际案例json <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www. ...