本文共 2254 字,大约阅读时间需要 7 分钟。
之前说了那么多配置信息,具体做的怎么样,还需要真正的获取ZooKeeper的运行时信息才行。这里介绍ZooKeeper的监控。
有如下方式:
最简单的监控方式就是使用ZooKeeper的四字命令,你可以直接通过telnet或者nc命令查看状态。
常用的四字命令如下:
JMX是用来远程监控Java应用的框架,这个也可以用来监控其他的Java应用。JMX使用起来也很简单。
在运行Java的jar的时候:
//不需要用户密码的-Dcom.sun.management.jmxremote.port=5000 -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.ssl=false // 使用需要用户密码登录的-Dcom.sun.management.jmxremote.port=5000 -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.access.file=jmxremote.access-Dcom.sun.management.jmxremote.password.file=jmxremote.password cat jmxremote.accessmonitorRole readonlycontrolRole readwrite cat jmxremote.passwordmonitorRole mypasswordcontrolRole mypassword
接下来,我们可以使用jConsole或者VisualVM进行监控。
默认情况下,ZooKeeper允许本地进行监控。
如果想要远程监控,可以修改zkServer.sh文件中的shell脚本
修改方式为我们刚才看到的加上
-Dcom.sun.management.jmxremote.access.file=jmxremote.access-Dcom.sun.management.jmxremote.password.file=jmxremote.password
Exhibitor是一个ZooKeeper的管理工具,由Netfix公司开发,在ZooKeeper监控,备份恢复,清洁,在可视化上提供了不小的帮助。
mkdir buildcd build wget -c https://raw.github.com/Netflix/exhibitor/master/exhibitor-standalone/src/main/resources/buildscripts/standalone/maven/pom.xml
//这个打包的时间真心长mvn clean package// 测试是否正确打包,这个exhibitor根据你自己打包出来的文件名进行测试java -jar target/exhibitor-1.6.0.jar --help
java -jar exhibitor-1.6.0.jar -c file
在浏览器中输入exhibitor的地址
http://服务器地址:8080/exhibitor/v1/ui/index.html配置Exhibitor
当然也有一些云服务商提供ZooKeeper的监控服务,一般都是收费的。
国外的有:server density. 网站:在看ZooKeeper监控的时候,发现ZooKeeper的监控工具都很老了,大部分都是几年前的了,ZooKeeper这是要被淘汰了吗...,好用的软件应该都有很好用的工具才对。不过既然当初它那么流行,还是有值得研究的地方...
转载地址:http://wemjl.baihongyu.com/