---
# 项目介绍:(1.1.2)
## 注意:branch
#### `master` - mysql版本(持续维护中~)
#### ~~`monitor-for-mysql`~~ - mysql版本(已转移至master,待删除)
#### `monitor-redis` - redis版本(维护截至到2016-06-03,后续暂时不维护)
## 界面效果图:
![image](https://github.com/zhongxig/ants-monitor-on-Redis/raw/master/monitor-dashboard.png)
##
---
# 一、特性:
1. 修复dubbo-admin的bug:本地应用启动停止后,若其相同的应用名服务仍有其他版本号,此本地应用的版本号不会注销。
2. 添加实时监控应用的启动和停止,防止应用停止影响公司业务。
3. 支持单点重启,监控到监控中心停止时,注册到zk的应用--启动和停止情况。
4. 以图像形式直观描述服务间的调用情况,方便服务结构调优。
5. 数据统计精准到方法级别。
---
# 二、模块说明:
1. 首页:
* 只观查看应用、方法、host的数量和每个应用之间的调用情况,有助于优化系统间的调用关系
* 即时监控应用的停止和启动,其会触发NotifyAppChangeProcessor中的方法,可根据自身业务写自身逻辑代码
* 页面上显示应用的停止和启动记录
2. application:
* 查看应用的host:port,是否是消费者或使用者
* 其内部的方法和最后调用时间,有助于排除无用的方法
* 每日每月的应用调用情况记录和应用之间的调用记录
3. service:
* 查看service中的具体方法的调用情况和统计数据————TPS:每秒查询率(次/秒) ART:每次平均耗时(毫秒/次)
* 高亮显示异常的service,方便排错
4. host:
* 记录每个服务器上的应用部署情况
---
# 三、项目使用的技术
1. 数据库:mysql(分支:redis)
2. 缓存:redis
2. 前端:freemarker+metronic+echarts
3. 框架:springmvc
4. dubbo版本号:dubbo-2.5.3
5. 支持的启动容器:jetty 和 tomcat
6. 其他:autoconfig、maven、ShardedJedisPool
---
# 四、使用帮助
在IDEA中
#### 1.初始化配置:
web/src/main/resources/application.properties
jdbc.url = jdbc:mysql://127.0.0.1:3306/monitor?useUnicode=true&characterEncoding=utf-8&autoReconnect=true # 此处为自身的mysql地址和schema,此处仅供参考
jdbc.username = root # mysql的帐号,此处仅供参考
jdbc.password = 123456 # mysql的密码,此处仅供参考
dubbo.application.name = ants-monitor
dubbo.port = 20882 #此处为port地址,该监控中心应用的端口号
zookeeper.address = 127.0.0.1:2181 # 此处为zk地址,若多个,则用","隔开。例如(zookeeper.address = 127.0.0.1:2181,127.0.0.2:2181,127.0.0.3:2181)
redis.host = redis://ants-monitor:123456@127.0.0.1:6379/2 #此处为redis数据库 密码@ip:host/db号
com.ants.monitor.bean.MonitorConstants的initEcsMap方法,在内存中存入自定义线上ip地址和测试环境ip地址。
> **注意:**因用autoconfig,若使用mvn clean package -Dmaven.test.skip -U打包,则需在 `web/src/main/webapps/META-INFO/autoconf/auto-conf.xml`中进行初始化数据更改。
#### 2.容灾设置,未启动的应用自定义实现报警
`AppStopTaskController` 类的todo之处
#### 3.两种启动方式,选一种即可(本地推荐法一):
1)jetty: web/test/java/AntsMonitorServer ->main 方法启动即可
2)tomcat: 先`mvn clean package -Dmaven.test.skip -U` 打包,一直 yes 而后将war包放在tomcat webapps下,更改 $tomcat_home/webapps/ROOT/WEB-INF/classes/application.properties 中的变量 启动tomcat即可
#### 4.mysql数据库建表sql:根目录下`dubbo_invoker.sql`
#### 5. 提供者或消费者应用接入监控中心(非此项目,为其他dubbo项目):
1)方式一(zk自动发现dubbo监控中心):<dubbo:monitor protocol="registry"/>
2) 方式二(直连):<dubbo:monitor address="10.20.130.230:12080"/>
---
# 五、获取帮助
如果你在使用过程中遇到任何问题,请在这里告诉我们。<br>
代码维护:<a href="https://github.com/zhongxig/dubbo-d-monitor">https://github.com/zhongxig/dubbo-d-monitor</a><br>
dubbo-d-monitor讨论QQ群号是:413255856, 加前请注明 dubbo监控中心学习讨论。
---
# 六、更改历史
### 2017.03.10 -`master`
> dubbo-d-monitor 1.2.1:<br>
1. 修复group 的数据统计有误的bug,由于 dubbo自带bug 统计中不带有group,本系统均不支持group统计
### 2017.03.09 -`master`
> dubbo-d-monitor 1.2.0:<br>
1. 优化zk节点的应用停止服务和启动服务的处理逻辑代码<br>
2. 解决监控中心宕机后重启的补偿机制执行缓慢<br>
### 2016.11.08 -`master`
> dubbo-d-monitor 1.1.4:<br>
1. 修复dubboService 数据采集导致的OOM bug<br>
2. 修改部分文案<br>
3. 增大线程池所使用的缓冲队列<br>
### 2016.10.25 -`master`
> dubbo-d-monitor 1.1.3:<br>
1. 方法排行榜 每日凌晨统计,走缓存<br>
2. application 缓存到 redis中<br>
3. service 的method 的数据展示 异步加载<br>
### 2016.08.10 -`master`
> dubbo-d-monitor 1.1.2:<br>
1. 新增全局alert 样式js和css<br>
2. service模块未选择方法时查看图片bug fix<br>
### 2016.07.07 -`master`
> dubbo-d-monitor 1.1.2:<br>
1. 方法排行最大值改为50<br>
2. 去掉排行榜浏览器缓存<br>
### 2016.07.05 -`master`
> dubbo-d-monitor 1.1.2:<br>
1. application模块新增 方法调用排行,便于例如测试将多调用多方法做集成测试<br>
### 2016.06.28 -`master`
> dubbo-d-monitor 1.1.1:<br>
1. 新增分支:monitor-redis,将之前master代码迁移到此分支上<br>
2. mysql分支代码合并到master上,此后在master上开发,`monitor-for-mysql`待删除<br>
3.最后消费时间,精确到每个机子上统计,多机子的相同最后消费时间不一致<br>
4.移除部分无用代码<br>
### 2016.06.01-`monitor-for-mysql`
很久没更新了~!! 为了优化存储和数据展示,参考了zabbix 的部分思路,将数据按时间存储不一致的粒度,且更改数据库存储为mysql,redis仅做缓存,由于该系统目前维护就我*一个人*,因此后续就维护 mysql版本,redis版本暂时不维护:
> monitor-on-redis 1.1.0:<br>
1. 新增分支:monitor-for-mysql<br>
2. 更改项目名为:dubbo-d-monitor<br>
3. 优化了页面展示<br>
4. 变更持久化数据存储到mysql中,且保存30天,过期的数据定时器删除<br>
5. 及时纪录系统间的调用数据,根据2个小时,一天的粒度进行数据划分,短期存入redis,每日凌晨定时器将数据存入mysql<br>
6. fix 部分隐藏bug<br>
### 2016.03.09
> monitor-on-redis 1.0.4:<br>
1. 内存占用仍旧很夸张,毕竟是用redis做数据库,invoke 大数据 过期时间改为1天,待后续优化方案<br>
2. redis释放资源 改为 shardedJedis.close();fix redis 无法释放资源的bug<br>
### 2016.03.05
由于运维发现此应用占用redis内存过高,且无用,因此更改redis的存储时间<br>
> monitor-on-redis 1.0.3:<br>
1. 拆分invoke每日数据,每日凌晨统计数据报表。redis 数据基本都作过期化存储。<br>
### 2016.01.20
> monitor-on-redis 1.0.2:<br>
1. 新增——本地非法起1.0.0.daily 和测试 非法起1.0.0 应用的警告页面,帮助用户快速定位问题<br>
2. 新增对 禁止掉的以override为头的url 记录,页面暂时不实现禁止的内容。展示所有禁止的数据。<br>
### 2016.01.08
> 1. 优化pom依赖,取出zk的重复引入<br>
### 2016.01.07
> monitor-on-redis 1.0.1:<br>
1. 修复cpu占用过大的bug<br>
2. 更新readme<br>
### 2016.01.05
> 1. 上线1.0.0-redis版本的监控中心<br>
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
dubbo monitor 基于dubbo2.5.3开发的监控平台,兼容了dubbo-admin的特性,有redis.zip (202个子文件)
components-rounded.css 319KB
bootstrap.min.css 114KB
layout.css 48KB
plugins.css 45KB
datepicker3.css 33KB
font-awesome.min.css 23KB
light.css 19KB
datepicker.css 18KB
simple-line-icons.min.css 9KB
uniform.default.min.css 8KB
dataTables.bootstrap.css 5KB
bootstrap-modal.css 4KB
pricing-table.css 2KB
amm.css 1KB
bootstrap-modal-bs3patch.css 735B
fontawesome-webfont.eot 59KB
dashBoard.ftl 21KB
servicesIndex.ftl 13KB
appIndex.ftl 11KB
appIndex_template.ftl 11KB
main.ftl 10KB
hostIndex.ftl 7KB
servicesIndex_template.ftl 7KB
error.ftl 4KB
dashBoard_template.ftl 1KB
hostIndex_template.ftl 1KB
cat.gif 23KB
.gitignore 44B
.gitignore 19B
.gitignore 14B
.gitignore 14B
.gitignore 14B
.gitignore 14B
index.html 121B
ants_32.ico 4KB
favicon.ico 4KB
RegistryContainerImpl.java 17KB
RedisClientTemplateImpl.java 15KB
ApplicationServiceImpl.java 14KB
ApplicationController.java 14KB
InvokeReportTaskController.java 12KB
ServicesServiceImpl.java 10KB
DubboMonitorService.java 10KB
HostServiceImpl.java 8KB
ServicesController.java 7KB
AppChangeRedisManagerImpl.java 6KB
TimeUtil.java 5KB
Tool.java 5KB
InvokeBizImpl.java 5KB
RedisClientTemplate.java 4KB
InvokeReportManagerImpl.java 4KB
AppChangeServiceImpl.java 4KB
DubboTest.java 4KB
AppStopTaskController.java 4KB
IndexController.java 4KB
JsonUtil.java 4KB
TimeTest.java 4KB
SpringContextsUtil.java 3KB
RedisKeyBean.java 3KB
InvokeRedisManager.java 3KB
AppStopRedisManagerImpl.java 2KB
RegistryContainerProcessor.java 2KB
TestController.java 2KB
BdUtil.java 2KB
CommonTaskController.java 2KB
HostController.java 2KB
InvokeReportManager.java 1KB
AppChangeService.java 1KB
MonitorConstants.java 1KB
RedisDataSourceImpl.java 1KB
AppChangeRedisManager.java 1KB
CommonUtil.java 1KB
UserRedisManager.java 1KB
ApplicationChangeBO.java 1KB
ServiceBO.java 1KB
CommonController.java 1KB
ApplicationBaseRedisManager.java 1004B
UUIDGenerator.java 1000B
ResultVO.java 970B
ApplicationBO.java 903B
TestTaskController.java 765B
HostBO.java 752B
InvokeDO.java 710B
AntsMonitorServer.java 701B
AppStopRedisManager.java 595B
NotifyAppChangeProcessor.java 570B
RegistryContainer.java 566B
ServicesService.java 565B
HostService.java 564B
ApplicationService.java 558B
InvokeDOMapper.java 557B
InvokeBiz.java 499B
RedisDataSource.java 428B
MethodRankBO.java 364B
echarts-all.js 2.04MB
echarts-all.js 950KB
echarts.js 874KB
map.js 836KB
map.js 441KB
echarts.js 355KB
共 202 条
- 1
- 2
- 3
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功