在公司内部,有不少应用已经强依赖zookeeper,zookeeper的工作状态直接影响它们的正常工作。目前开源世界中暂没有一个比较成熟的zookeeper-monitor, 于是开始zookeeper监控这块工作。

目前zookeeper-monitor能做哪些事情,讲到这个,首先来看看哪些因素对zookeeper正常工作比较大的影响:

  1. 用于zookeeper写日志的目录要有足够大小,并且强烈建议在单独的磁盘(挂载点)上,这是影响ZK性能最大因素之一。
  2. 连接数。
  3. 注册的Watcher数。
  4. ZNode是否可读,可写。
  5. ZK事件通知的延时是否过大。

围绕以上几点展开,完成了taokeeper一期的开发,目前主要完成以下方面的监控:(项目地址:https://github.com/alibaba/taokeeper)

lCPU/MEM/LOAD的监控

lZK日志目录所在磁盘剩余空间监控

l单机连接数的峰值报警

l单机 Watcher数的峰值报警

l节点自检:是指对集群中每个IP所在ZK节点上的PATH: /YINSHI.MONITOR.ALIVE.CHECK 定期进行三次如下流程 : 节点连接 – 数据发布 – 修改通知 – 获取数据 – 数据对比, 在指定的延时内,三次流程均成功视为该节点处于正常状态。

  • ZooKeeper集群实时状态(点击图片查看大图)

点击查看按钮可以查看当前服务器上所有订阅者的详细信息:

ZooKeeper监控报警设置(点击图片查看大图)

ZooKeeper集群状态趋势图(点击图片查看大图)

如何安装部署

首先,对之前使用maven-war-plugin 来进行配置管理的方式,表示遗憾。不少开发人员反馈部署比较困难,另外还有一些对maven不熟悉的开发人员也是这样认为。现在有了改进,将配置与程序分离开来。对此给大家带来的不便,深表歉意。

一、直接部署

1. 下载taokeeper.sql,初始化数据库(Mysql).
2. 下载taokeeper-monitor.war文件,解压到tomcat的webapps目前下,确保最后目录结构如下: %TOMCAT_HOME%\webapps\taokeeper-monitor.war

3. 下载taokeeper-monitor-config.properties文件,存放到一个指定目录,比如

/home/xiaoming/taokeeper-monitor/config/taokeeper-monitor-config.properties, 其中内容如下,根据需要自己修改下。

----------------------------------------------------------------
systemInfo.envName=TEST
#DBCP
dbcp.driverClassName=com.mysql.jdbc.Driver
dbcp.dbJDBCUrl=jdbc:mysql://1.1.1.1:3306/taokeeper
dbcp.characterEncoding=GBK
dbcp.username=xiaoming
dbcp.password=123456
dbcp.maxActive=30
dbcp.maxIdle=10
dbcp.maxWait=10000
#SystemConstant
SystemConstent.dataStoreBasePath=/home/xiaoming/taokeeper-monitor/ZookeeperStore
#SSH account of zk server
SystemConstant.userNameOfSSH=xiaoming
SystemConstant.passwordOfSSH=123456------------------------------------------------------------------4. 在tomcat启动脚本中添加JAVA_OPTS:
<strong>windows</strong>上:<strong>set</strong> JAVA_OPTS=-DconfigFilePath="D:servertomcatwebappstaokeeper-monitor-config.properties"
<strong>linux</strong>上:JAVA_OPTS=-DconfigFilePath="/home/xiaoming/taokeeper-monitor/config/taokeeper-monitor-config.properties"

5. 启动tomcat服务器

6. 正常启动后,访问:http://127.0.0.1:8080/taokeeper-monitor

二、从源代码开始

1. Check out 源代码:git@github.com:nileader/taokeeper.git

2. 修改代码…

3. 实现com.taobao.taokeeper.reporter.alarm.MessageSender 接口,用于发送报警信息。(可选)

4. 到taokeeper根目录下执行 package.cmd 命令,打成一个war包,之后进行部署

如何使用
1. taokeeper-monitor启动后,还没有配置任何zookeeper集群,点击“加入监控”进行集群添加。


2. 配置zookeeper集群信息(点击查看大图)

ZooKeeper监控相关推荐

  1. zookeeper 监控

    zookeeper监控指标 zk_version 版本 zk_avg_latency 平均 响应延迟 zk_max_latency 最大 响应延迟 zk_min_latency 最小 响应延迟 zk_ ...

  2. Zabbix监控zookeeper

    Zabbix监控zookeeper 近期需求增加zookeeper监控到zabbix , 经过一番搜索, 确定通过 agentd端运行脚本的方式采集数据,传送给 zabbix-server端. Zab ...

  3. 使用Zabbix监控ZooKeeper服务的健康状态

    一 应用场景描述 在目前公司的业务中,没有太多使用ZooKeeper作为协同服务的场景.但是我们将使用Codis作为Redis的集群部署方案,Codis依赖ZooKeeper来存储配置信息.所以做好Z ...

  4. Zabbix监控Zookeeper健康状况

    非原创内容,转自眄眄的闺蜜 首先最简单的是监听服务端口,在zabbix界面直接添加监控项 item: zookeeper.status key: net.tcp.listen[2181] ZooKee ...

  5. zookeeper集群部署监控与选举同步流程等工作原理

    部署一个zookeeper集群,要多简单就能有多简单(下载压缩包,解压,修改配置文件zoo.cfg,执行启动脚本),但是想要真的把这套东西玩好了,还是需要费些功夫研究一番的.就跟自己搭建一个lnmp的 ...

  6. 一文运维zookeeper

    文章目录 1. zookeeper生产环境的安装配置 1.1 软件配置 1.2 硬件配置 1.3 日志配置文件 1.4 配置三节点的zookeeper集群 2. zookeeper的监控方法 2.1 ...

  7. 部署与管理ZooKeeper

    2019独角兽企业重金招聘Python工程师标准>>> 部署与管理ZooKeeper 博客分类: zookeeper 本文以ZooKeeper3.4.3版本的官方指南为基础:http ...

  8. zookeeper 运维管理

    2019独角兽企业重金招聘Python工程师标准>>> zookeeper 运维管理(转) link: http://blog.163.com/bdweizhong@yeah/blo ...

  9. 《从Paxos到ZooKeeper 分布式一致性原理与实践》读书笔记

    一.分布式架构 1.分布式特点 分布性 对等性.分布式系统中的所有计算机节点都是对等的 并发性.多个节点并发的操作一些共享的资源 缺乏全局时钟.节点之间通过消息传递进行通信和协调,因为缺乏全局时钟,很 ...

最新文章

  1. Matlab并行编程方法1
  2. php页面最大执行时间 set_time_limit函数不起作用
  3. 程序员如何切入区块链去中心化应用开发
  4. 正则表达式(RegularExpression)
  5. Linux下常用服务的端口号超详细整理
  6. kinux查日志_Linux实时查看日志的四种命令详解
  7. 液体火箭发动机技术国家级重点实验室2021年度对外开放项目指南
  8. python pyquery库_python解析HTML之:PyQuery库的介绍与使用
  9. oracle函数trunc的使用
  10. vns可变领域_技师可变工程师!
  11. 人机交互论文计算机导论,计算机导论第10章人机交互[精].ppt
  12. bigemap功能介绍
  13. 安卓火狐浏览器wifi远程调试没有扫描二维码应用的问题
  14. 二维数组的几种定义方法
  15. Android成长之路-音乐播放器的实现
  16. 文件——创建文件并写入内容
  17. amap 实现获取定位功能(高德api)
  18. windows 键盘记录器(win10下测试成功)
  19. TSN网络中的Qbu和IEEE 802.3br帧抢占是如何工作的?
  20. 【敏捷7.1】风险管理

热门文章

  1. 每日两道前端面试题20190226
  2. 《例说8051:单片机程序设计案例教程》——第 2 章 输出口的应用
  3. 快速搭建LAMP环境
  4. 【Android Camera】之 Preview
  5. iTextSharp 使用详解(转)
  6. 6.4. Pirum is a simple PEAR Channel Server Manager
  7. From NSURLConnection to NSURLSession
  8. yii 提交表单报400错误,提示 “您提交的数据无法验证”,问题处理。
  9. 无core文件根据系统日志查找 程序core信息
  10. input 文本框和 img 验证码对齐问题