http://jm-blog.aliapp.com/?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

l  CPU/MEM/LOAD的监控

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

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简介 ZooKeeper作为分布式系统中重要的组件,目前在业界使用越来越广泛,ZooKeeper的使用场景非常多,以下是几种典型的应用场景: l  数据发布与订阅(配置中心) l ...

  2. zookeeper监控之taokeeper

    1.taokeeper简介 淘宝的开源监控zookeeper的工具,年久失修! 项目地址: https://github.com/alibaba/taokeeper 监控项: CPU/MEM/LOAD ...

  3. Zookeeper监控(Zabbix)

      一直在弄监控,这些个中间件Zookeeper.Kafka......,平时也只知道一点皮毛,也就搭建部署过,没有真正的用过,一般都是大数据的同学在用,作为运维人员我需要对他做一个监控,由于对他不是 ...

  4. zookeeper 监控 —— 阿里taokeeper

    TaoKeeper是一个围绕ZooKeeper做的监控与报表系统. 主要功能如下: 能够统计ZK集群连接数,Watcher数目 ,节点数等系列信息,并按一定规则进行一些聚合操作; 能够通过设置一些阈值 ...

  5. Hadoop记录- zookeeper 监控指标

    目前zookeeper获取监控指标已知的有两种方式: 1.通过zookeeper自带的 four letter words command 获取各种各样的监控指标 2.通过JMX Client连接zo ...

  6. Zabbix实战-简易教程--中间件ZooKeeper监控

    一.监控思路 通过zabbix trapper方式监控,之前看到网友们都是通过定时任务进行主动上传数据,但是,zabbix还有另外一神器--自动发现,也能达到同样的功能. 二.实现步骤 1.准备脚本 ...

  7. Zookeeper监控平台

    JMX: 安装配置 1.修改zookeeper的启动脚本 vi  zkServer.sh 找到启动参数ZOOMAIN ​ 修改为下面值(修改一项,新增4项): -Dcom.sun.management ...

  8. Eclipse安装zookeeper监控插件

    1.在 Eclipse 菜单打开Help -> Install New Software…2.添加 url http://www.massedynamic.org/eclipse/updates ...

  9. 大数据软件安装之ZooKeeper监控

    一.ZooKeeper安装 官方文档: https://zookeeper.apache.org/doc/r3.5.5/zookeeperStarted.html 1.解压分发 [test@hadoo ...

随机推荐

  1. tesseract 字体训练资料篇

    tesseract 字体训练资料篇 1.制作.box档案文件. tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] ...

  2. hdu 1824

    也是一道2-sat的入门题: 不过题目描述的不清楚,看了别人的题解才知道题意: 和上面的那题差不多,一个模板: 代码: #include<cstdio> #include<stack ...

  3. Win7系统Matlab2013a安装.m文件不自动关联到MATLAB.exe解决方法

    1.在matlab命令行中输入以下代码: cwd=pwd; cd([matlabroot '\toolbox\matlab\winfun\private']); fileassoc('add',{'. ...

  4. c#中总是提示“在代码运行时或者在禁用“只要一个进程中断,就中断所有进程”选项时,不允许进行更改。

    但是根据它提示的修改方法,还是提示这个. “此选项可在“工具”->“选项”->“调试”中启用.” 根本不起作用,后来试着,要这样操作: 工具->选项->调试->编辑并继续 ...

  5. listview异步加载sd卡图片

    package com.example.gridview; import java.io.File; import java.io.FileOutputStream; import java.io.I ...

  6. 文件已经加入.gitignore但是vs并没有显示文件处于ignore状态

    在VS2015的项目文件中看到某些文件的状态比较特殊, 前面被标记了红色的标志, 如下图. 本来以为这是通过VS修改文件属性做到的, 但是光标移到文件上发现显示的是Ignore, 才知道是被git所忽 ...

  7. Perl脚本学习经验(四)--Perl中sftp的使用

    使用sftp,需要使用Except模块,该模块需要下载安装在perl目录下,可以上http://www.cpan.org/上下载对应的安装包:1. 用root用户登录环境:2. cd /usr/lib ...

  8. android使用tabhost实现导航

    参考 http://blog.csdn.net/xixinyan/article/details/6771341 http://blog.sina.com.cn/s/blog_6b04c8eb0101 ...

  9. C# Winform 实现自定义半透明loading加载遮罩层

    在网页中通过div+css实现半透明效果不难,今天我们看看一种在winfrom中实现的方法: 效果图如下,正常时: 显示遮罩层时: 自定义遮罩层控件的源码如下: View Row Code 1 usi ...

  10. Apache Struts 跨站脚本漏洞

    漏洞名称: Apache Struts 跨站脚本漏洞 CNNVD编号: CNNVD-201311-010 发布时间: 2013-11-04 更新时间: 2013-11-04 危害等级:    漏洞类型 ...