首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

ZooKeeper监控-转从淘宝技术

2012-06-30 
ZooKeeper监控-转自淘宝技术?在公司内部,有不少应用已经强依赖zookeeper,比如meta和精卫系统,zookeeper的

ZooKeeper监控-转自淘宝技术

?在公司内部,有不少应用已经强依赖zookeeper,比如meta和精卫系统,zookeeper的工作状态直接影响它们的正常工作。目前开源世界中暂没有一个比较成熟的zookeeper-monitor,公司内部的各个zookeeper运行也都是无监控,无报表状态。于是开始zookeeper监控这块工作。

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

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

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

l??CPU/MEM/LOAD的监控

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

l??单机连接数的峰值报警

l??单机 Watcher数的峰值报警

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

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

    ZooKeeper监控-转从淘宝技术</bean>

    <bean id=”dataSourceManager” class=”common.toolkit.java.util.db.DbcpUtil”>
    <property name=”driverClassName” value=”com.mysql.jdbc.Driver” />
    <property name=”dbJDBCUrl” value=”jdbc:mysql://1.1.1.1:3306/taokeeper” />
    <property name=”characterEncoding” value=”GBK” />
    <property name=”username” value=”root” />
    <property name=”password” value=”123456″ />
    <property name=”maxActive” value=”30″ />
    <property name=”maxIdle” value=”10″ />
    <property name=”maxWait” value=”10000″ />
    </bean>
    5. 启动tomcat服务器

    二、从源代码开始

    1. Check out 源代码:svn co http://code.taobao.org/svn/taokeeper/trunk taokeeper
    2. 配置:
    taokeeper-monitor
    |__src/main/resource
    |__*.properties
    |__logback.xml(LOG_HOME)

    ————————————————————————

    #Daily

    systemInfo.envName=DAILY

    #DBCP
    dbcp.driverClassName=com.mysql.jdbc.Driver
    dbcp.dbJDBCUrl=jdbc:mysql://1.1.1.1:3306/taokeeper
    dbcp.characterEncoding=GBK
    dbcp.username=root
    dbcp.password=123456
    dbcp.maxActive=30
    dbcp.maxIdle=10
    dbcp.maxWait=10000

    #SystemConstant
    SystemConstent.dataStoreBasePath=/home/yinshi.nc/taokeeper-monitor/
    userNameOfSSH=yinshi.nc
    passwordOfSSH=123456

    #LOGBACK
    LOG_HOME=/home/yinshi.nc/taokeeper-monitor/logs
    LOG_LEVEL=INFO
    MAX_HISTORY_LOG_FILES=10

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

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

    ZooKeeper监控-转从淘宝技术

热点排行