zookeeper 集群状态监控 (taokeeper)

http://jm.taobao.org/?p=1450

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

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

  1. 用于zookeeper写日志的目录要有足够大小,并且强烈建议在单独的磁盘(挂载点)上,这是影响ZK性能最大因素之一。

  2. 连接数。

  3. 注册的Watcher数。

  4. ZNode是否可读,可写。

  5. ZK事件通知的延时是否过大。

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

  1. CPU/MEM/LOAD的监控
  2. ZK日志目录所在磁盘剩余空间监控
  3. 单机连接数的峰值报警
  4. 单机 Watcher数的峰值报警
  5. 节点自检:是指对集群中每个IP所在ZK节点上的PATH: /YINSHI.MONITOR.ALIVE.CHECK 定期进行三次如下流程 : 节点连接 - 数据发布 - 修改通知 - >获取数据 - 数据对比, 在指定的延时内,三次流程均成功视为该节点处于正常状态。

一、环境

[taokeeper@node3 ~]$ java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

[taokeeper@node3 ~]$ apache-tomcat-7.0.85/bin/catalina.sh version
Using CATALINA_BASE:   /home/taokeeper/apache-tomcat-7.0.85
Using CATALINA_HOME:   /home/taokeeper/apache-tomcat-7.0.85
Using CATALINA_TMPDIR: /home/taokeeper/apache-tomcat-7.0.85/temp
Using JRE_HOME:        /home/taokeeper/jdk1.7.0_79
Using CLASSPATH:       /home/taokeeper/apache-tomcat-7.0.85/bin/bootstrap.jar:/home/taokeeper/apache-tomcat-7.0.85/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.85
Server built:   Feb 7 2018 18:52:33 UTC
Server number:  7.0.85.0
OS Name:        Linux
OS Version:     3.10.0-862.el7.x86_64
Architecture:   amd64
JVM Version:    1.7.0_79-b15
JVM Vendor:     Oracle Corporation

root@[ 9.11.11.50 ]@znhjkdbs:/root# mysql -V
mysql  Ver 14.14 Distrib 5.6.40, for linux-glibc2.12 (x86_64) using  EditLine wrapper

2、安装

1、初始化数据库  taokeeper.sql
2、下载taokeeper-monitor.tar.gz 到tomcat的webapps 下
3、修改taokeeper-monitor-config.properties

#Daily

systemInfo.envName=DAILY

#DBCP
dbcp.driverClassName=com.mysql.jdbc.Driver
dbcp.dbJDBCUrl=jdbc:mysql://9.11.11.50:3306/taokeeper  #MySQL
dbcp.characterEncoding=GBK
dbcp.username=aa 用户名密码
dbcp.password=bb
dbcp.maxActive=30
dbcp.maxIdle=10
dbcp.maxWait=10000

#SystemConstant
SystemConstent.dataStoreBasePath=/home/yinshi.nc/taokeeper-monitor/
SystemConstant.userNameOfSSH=root  #远程连接zookeeper服务器账号
SystemConstant.passwordOfSSH=123456 #密码
#Optional
SystemConstant.portOfSSH=22
每个zookeeper服务器上安装nc软件,yum -y install nc   # 不安装nc会导致zookeeper监控信息出不来,zk的角色、连接娄等信息就是通过SSH远程执行nc命令,如nc 9.11.11.50 2181

3、修改tomcat启动脚本

添加
JAVA_OPTS=-DconfigFilePath="/home/taokeeper/apache-tomcat-7.0.85/webapps/taokeeper-monitor-config.properties"

4、关闭tomcat日志

关闭tomcat日志,要不然 $CATALINA_HOME/logs/catalina.out 文件很容易就写得很大,直到空间用完

修改/etc/init.d/tomcat启动脚本 和 $CATALINA_HOME/bin/catalina.sh

把CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out 替换为 CATALINA_OUT=/dev/null



把 webapps下taokeeper-monitor/WEB-INF/classes/log4j.properties

所有 INFO 改成 OFF

log4j.appender.ROLLINGFILE.File=/home/admin/taokeeper-monitor/logs/taokeeper-monitor.log 改成

log4j.appender.ROLLINGFILE.File=/dev/null

5、如图

7aa236a8e10ee8b9022c1f214588099fba6.jpg

6、软件包下载

链接:https://pan.baidu.com/s/15K7sIEPpPXKCecjsUq10qw 
提取码:zpiw 

 

转载于:https://my.oschina.net/kcw/blog/3002770

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值