1.taokeeper简介

淘宝的开源监控zookeeper的工具,年久失修!

项目地址:

https://github.com/alibaba/taokeeper

监控项:

CPU/MEM/LOAD的监控

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

单机连接数的峰值报警

单机 Watcher数的峰值报警

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

taokeeper4个线程:

4个线程,根据clusterId来获取一个zk集群。

1.ClientThroughputStatJob()

检测链接的数据信息,并放到GlobalInstace

2. ZooKeeperALiveCheckerJob()

调用ZooKeeper API链接测试,启动ZooKeeper数据修改通知检测 ,检查节点是否存活

3. ZooKeeperStatusCollectJob()

对集群server进行ssh链接,执行命令 echo stat | nc {IP} {PORT}和echo wchs | nc {IP} {PORT}以及echo wchc | nc {IP} {PORT},将结果封装之后再检查这些数据,是否大于阈值,如果大于就发送错误通知;

4. HostPerformanceCollectTask()

收集机器CPU LOAD MEMEORY 负载情况 如果大于设置的值则发送消息

程序执行过程(过程中执行的命令附录中有说明)

Initialization类启动四个线程线程,每一个线程查询需要监控集群,再把查询到的集群中的服务器信息,分别作为创建子线程的参数:

第一个线程的子线程:对集群server进行ssh链接,执行命令 echo cons | nc {IP} {PORT},将获取回的session详细信息封装,放入全局对象GlobalInstace中;
第二个线程的子线程:调用ZooKeeper API链接测试,试2个3次,如果不行就发送错误通知;
第三个线程的子线程:对集群server进行ssh链接,执行命令 echo stat | nc {IP} {PORT}和echo wchs | nc {IP} {PORT}以及echo wchc | nc {IP} {PORT},将结果封装,之后再检查这些数据,是否大于阈值,如果大于就发送错误通知;
第四个线程的子线程:对集群server进行ssh获取服务器CPU,内存,磁盘,load等情况,将结果封装,之后再检查这些数据,是否大于阈值,如果大于就发送错误通知。

注意:每个zookeeper服务器上安装nc软件:yum -y install nc   
不安装nc会导致zookeeper监控信息出不来,如下图。zk的角色、连接类等信息就是通过SSH远程执行nc命令,如nc 192.168.1.133 2181

附录:

conf :
3.3.0版本中新增:输出详细的服务配置信息。
cons:
3.3.0版本中新增:列出所有 客户端 链接到 服务端的 session 详细信息。包括所有 接收/发送 的信息包数,session Id,延迟的操作,最后执行的操作…
crst:
3.3.0版本中新增:重置对所有connection/session统计。
dump
列出所有的未处理的会话和零时节点。这个命令只能使用在leader服务上。
envi
输出当前服务的详细信息
ruok
确认服务运行状态是否正常。如果服务正在运行,则回复”imok”。相反的服务将不会回应。
返回了”imok”的服务并不一定表名服务是在集群内,只是说明服务器进程激活和绑定到了指定的客户端端口。使用”stat” 可以获取集群的组成情况和客户端的链接信息
srst
重置server统计
srvr
3.3.0版本中新增:打印所有的服务器信息
stat
列出简略的服务信息和链接客户端信息
wchs
3.3.0版本中新增: 列出简略的服务器上的watches信息
wchc
3.3.0版本中新增: 按照session列出详细的服务器上的watches信息。输出的内容是sessions(connections) 和相关的watches(路径)。
注意:在不同的watches的数量情况下,这个操作肯能很消耗性能,使用它要格外的小心。
wchp
3.3.0版本中新增: 按照path 列出详细的服务器上的watches信息。输出的内容是paths (znodes)和相关sessions。
注意:在不同的watches的数量情况下,这个操作肯能很消耗性能,使用它要格外的小心。
mntr
3.4.0版本中新增:输出可以用来监控集群健康情况的一系列变量。输出的是能兼容Java属性文件的格式,而且内容可能会随时间而改变(比如增加新的变量)。

$ echo mntr | nc localhost 2185
zk_version 3.4.0
zk_avg_latency 0
zk_max_latency 0
zk_min_latency 0
zk_packets_received 70
zk_packets_sent 69
zk_outstanding_requests 0
zk_server_state leader
zk_znode_count 4
zk_watch_count 0
zk_ephemerals_count 0
zk_approximate_data_size 27
zk_followers 4 - 只有Leader 拥有的参数
zk_synced_followers 4 - 只有Leader 拥有的参数
zk_pending_syncs 0 - 只有Leader 拥有的参数
zk_open_file_descriptor_count 23 - 仅适用Unix平台
zk_max_file_descriptor_count 1024 - 仅适用Unix平台

2.taokeeper部署

1.下载

链接:https://github.com/alibaba/taokeeper/downloads

下载下图的 2.数据库,3.配置文件,4.代码

2. 环境准备

a、tomcat : 建议apache-tomcat-6.0.53  (刚开始用apache-tomcat-8.5.15,但是网页显示不全,子链接也加载不出来,后来降低版本就可以了,taokeeper 12年的东西啊)

b、mysql:笔者是mysql-community-server-5.7.18-1

c、zookeeper: 笔者是zookeeper-3.4.10

3.部署

mysql数据库初始化(导入taokeeper.sql)

tomcat安装、配置

  在 tomcat/bin/catalina.sh 中添加 JAVA_OPTS=-DconfigFilePath="/root/services/tomcat/webapps/taokeeper-monitor/config/taokeeper-monitor-config.properties"

taokeeper部署:

  将taokeeper-monitor.tar.gz解压到tomcat的webapps目录下(删除原有文件)。

  新建config(将taokeeper-monitor-config.properties拷贝到此),logs,ZookeeperStore目录,下图所示:

  

  修改配置文件taokeeper-monitor-config.properties 

  (主要是数据库连接,ssh连接zookeeper,附加日志设置) 

#Daily

systemInfo.envName=taokeeper

#DBCP
dbcp.driverClassName=com.mysql.jdbc.Driver
dbcp.dbJDBCUrl=jdbc:mysql://192.168.1.133:3306/taokeeper
dbcp.characterEncoding=GBK
dbcp.username=root
dbcp.password=
dbcp.maxActive=
dbcp.maxIdle=
dbcp.maxWait= #SystemConstant
SystemConstent.dataStoreBasePath=/root/services/tomcat/webapps/taokeeper-monitor/ZookeeperStore
SystemConstant.userNameOfSSH=root
SystemConstant.passwordOfSSH=
#Optional
SystemConstant.portOfSSH= #LOGBACK
LOG_HOME=/root/services/tomcat/webapps/taokeeper-monitor/logs
LOG_LEVEL=DEBUG
MAX_HISTORY_LOG_FILES=

4.启动tomcat

catalina.sh start

5.web浏览 http://localhost:8080/taokeeper-monitor/

6.web配置zookeeper在此不做介绍

看图参考:http://www.ithao123.cn/content-7333258.html

zookeeper监控之taokeeper的更多相关文章

  1. zookeeper 监控 —— 阿里taokeeper

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

  2. zookeeper监控告警

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

  3. ZooKeeper监控

    http://jm-blog.aliapp.com/?p=1450 在公司内部,有不少应用已经强依赖zookeeper,zookeeper的工作状态直接影响它们的正常工作.目前开源世界中暂没有一个比较 ...

  4. Zookeeper监控(Zabbix)

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

  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. Scikit-learn库中的数据预处理(一)

    数据标准化:当单个特征的样本取值相差甚大或明显不遵从高斯正态分布时,标准化表现的效果较差.实际操作中,经常忽略特征数据的分布形状,移除每个特征均值,划分离散特征的标准差,从而等级化,进而实现数据中心化 ...

  2. mysql中 groupby分组

    引用自http://www.cnblogs.com/mo-beifeng/archive/2012/02/07/2341886.html#2341105 --按某一字段分组取最大(小)值所在行的数据 ...

  3. SQLServer局部变量和全局变量介绍05-29学习笔记

    变量 数据在内存中存储可以变化的量叫变量.为了在内存中存储信息,用户必须指定存储信息的单元,并为了该存储单元命名, 以方便获取信息,这就是变量的功能.Transact-SQL可以使用两种变量,一种是局 ...

  4. php微信开放平台--第三方网页微信扫码登录(OAuth2.0)

    第一.OAuth2.0 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. 允许用户提 ...

  5. IMP-00058 ORA-12638:身份证明检索失败

    需要将oracle的tns关掉 1.打开 oracle 的Net Manage 地址:开始 -> 程序 -> Oracle -> Configuration and Migratio ...

  6. ACM_梦中的函数

    梦中的函数 Time Limit: 2000/1000ms (Java/Others) Problem Description: 寒假那段时间,每天刷题的小G连做梦都是代码,于是有了这道题. 给定一个 ...

  7. ionic2/3 禁止屏幕旋转,禁止横屏,竖屏

    ionic2/ionic3禁止屏幕旋转,及解除禁止旋转 1.添加插件: cmd到项目目录---> cordova plugin add cordova-plugin-screen-orienta ...

  8. Ajax——跨域访问

    同源 基本概念:同源策略是浏览器的一种安全策略,所谓同源是指,域名,协议,端口完全相同. //同一域名下,允许通讯 http://www.a.com/a.js http://www.a.com/b.j ...

  9. JavaScript的基础数据类型和表达式

    Java Script的基础数据类型和表达式 基本的数据类型: number(数值)类型:可分为整数和浮点数 string(字符)类型:是用单引号“'”或者双引号“"”来说明的. boole ...

  10. java设计模式03装饰者者模式

    动态地给一个对象添加一些额外的职责.就增加功能来说, Decorator模式相比生成子类更为灵活.该模式以对客 户端透明的方式扩展对象的功能. (1)在不影响其他对象的情况下,以动态.透明的方式给单个 ...