管理工具:
Zookeeper官方自带的管理员工具:
http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html 官方的命令行工具可以胜任绝大部分工作了。
zktop
https://github.com/phunt/zktop python写的小工具,很有意思
taokeeper
项目地址:https://github.com/alibaba/taokeeper
淘宝出品的一个监控工具,还有可以用脚本来监控的功能。虽然开源了,但是实际上很难用,代码也很难扩展,而且有些jar包是淘宝内部的。
我修改了下,可以正常使用,代码地址在:https://github.com/hengyunabc/taokeeper
但是我们线上也没有用这个,线上只有zabbix的监控。
安装配置参考:
编译
1.下载这两个项目:git clone https://github.com/hengyunabc/common-toolkit.git
git clone https://github.com/nileader/zkclient.git
先分别执行 mvn -Dmaven.test.skip install
2.下载本项目:
git clone https://github.com/hengyunabc/taokeeper.git
执行 mvn -Dmaven.test.skip clean package
到taokeeper-monitor/target/目录就可以看到生成的War包了。
部署
taokeeper使用mysql数据库来保存一些配置和日志。导入taokeeper-build/etc/taokeeper.sql 文件,也可以从这里下载:文件:Taokeeper.sql.zip 。
配置tomcat启动参数,增加JVM启动参数:
JAVA_OPTS=-DconfigFilePath="~/taokeeper/taokeeper-monitor-config.properties"
并在上面的配置中配置好参数,例如:
systemInfo.envName=TEST
#DBCP
dbcp.driverClassName=com.mysql.jdbc.Driver
dbcp.dbJDBCUrl=jdbc:mysql://localhost:3306/taokeeper
dbcp.characterEncoding=GBK
dbcp.username=root
dbcp.password=root
dbcp.maxActive=30
dbcp.maxIdle=10
dbcp.maxWait=10000
#SystemConstant
SystemConstent.dataStoreBasePath=~/taokeeper/
#SSH account of zk server
SystemConstant.userNameOfSSH=hello
SystemConstant.passwordOfSSH=hello
其中SSH用户密码要配置对,zookeeper部署的机器要开放SSH服务。
把生成的War包改为ROOT.war,放到tomcat的webapps目录下,启动tomcat。
如果报log4j错误,则还要配置webapps/ROOT/WEB-INF/classes/log4j.properties 文件。也可以在编绎前先修改好。
打开 http://localhost:8080/ ,就可以看到taokeeper的界面了。
工作原理
taokeeper通过SSH连接到zookeeper部署的机器上,再在上面执行zookeeper的Four Letter Words来得到统计信息,再分析保存到mysql数据库中。参考:http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html#sc_zkCommands
监控目标机器的负载,也是通过SSH连接到目标机器,再执行top等命令,再分析得到数据。
注意事项
在chrome浏览器下,“机器监控”这个功能有时会把信息显示下浏览器的下面,要拉到最后才能看到,并不是这个功能不能工作