ZooKeeper服务可以通过以下两种方式进行监控:

  • 使用一组四个字母的单词命令来监视健康状态
  • 使用ZooKeeper内置的Java管理扩展功能

四个字母的单词命令

ZooKeeper响应一组命令,每个命令由四个字母组成。这些命令可以通过telnetnc在客户端端口发出。这些命令的主要目标是提供一个简单的机制来检查服务器的运行状况或诊断任何问题。

以下由ZooKeeper服务支持的四个字母的单词:

  • conf:打印有关服务器配置参数(如clientPort,dataDir,tickTime等)的详细信息。
  • cons:列出了连接到此服务器的所有客户端的完整连接/会话的详细信息。
  • crst:重置所有连接/会话的统计信息。
  • dump:列出未完成的会话和ephemeral节点。这只对领导者有效。
  • envi:列出环境参数。
  • ruok:检查服务器是否运行没有任何错误。如果imok正在运行,服务器将会响应。如果服务器处于某个错误状态,它将不响应此命令。
  • srst:重置服务器统计信息。
  • stat:提供有关服务器的当前状态和连接的客户端列表的信息。
  • srvr:提供了与stat命令相同的信息,但连接的客户端列表除外。
  • wchs:提供了服务器监视的简要信息。
  • wchc:提供了服务器监视的详细信息,按会话(连接)排序,显示与之关联监视(路径)的会话列表。
  • wchp:提供了服务器监视的详细信息,按路径(znode)排序。 显示关联会话的路径列表。
  • mntr:输出可用于监视群集运行状况的变量列表。

运行这些四个字母命令来监视ZooKeeper服务器的当前状态的示例如下所示:

Java管理扩展

ZooKeeper为Java管理扩展(JMX)提供了广泛的监视和管理功能。我们将使用jconsole,一个带有JMX的简单管理控制台,来探索ZooKeeper的管理功能。

Tips
有关更多设置JMX进行监视和管理的详细信息,请访问https://docs.oracle.com/javase/7/docs/technotes/guides/management/agent.html。

现在,从ZooKeeper运行的同一系统上的命令行启动jconsole。在本例中,ZooKeeper服务在本地主机上运行。运行jconsole启动一个类似于以下屏幕截图中的窗口:

可以看到,jconsole发现了PID 4824的ZooKeeper进程。通过双击它来连接到这个进程。一旦jconsole连接到ZooKeeper进程,就会看到一个类似于下面的窗口,它有各种形式的系统统计信息,比如内存使用、线程、特定于jvm的信息等等。这些统计数据和系统计数器对于监视ZooKeeper服务器的状态非常重要,并有助于在生产集群中调试性能问题。

MBeans选项卡显示有关ZooKeeper内部状态的详细信息,如连接的客户端的详细信息以及有关在ZooKeeper名称空间中执行的操作的各种属性和详细信息。 Managed Beans(MBeans)是通过JMX公开ZooKeeper服务器上的内部信息的一种非常优雅和灵活的方式。

Tips
有关ZooKeeper管理和监视可用的各种MBeans的更多详细信息,请参阅https://zookeeper.apache.org/doc/trunk/zookeeperJMX.html。

14. 监视ZooKeeper实例的更多相关文章

  1. PHP 14:类的实例

    原文:PHP 14:类的实例 在本章中我们将介绍一个实例,来进一步对类加深了解.本章构建一个Page类,它代表了一个页面.其中有显示页面的title,样式,内容等函数.此页面的效果如下:我们将把这个页 ...

  2. Dubbo集成Spring与Zookeeper实例

    >>Dubbo最佳实践 使用Dubbo结合Zookeeper和Spring,是使用比较广泛的一种组合,下面参考官方文档,做个简单的示例,一步步搭建一个使用dubbo结合Zookeeper和 ...

  3. SpringBoot+Dubbo+Zookeeper 实例

    前言 当下Java 生态环境里面,微服务占据了非常大的份额,现在大部分新开发的 Java选型的后台程序都很奇妙的会跟微服务发生一些关系.那目前市面上主流的微服务方向主要有 Spring 家族推出的Sp ...

  4. 【python之路14】发送邮件实例

    1.发邮件的代码 from email.mime.text import MIMEText from email.utils import formataddr import smtplib msg ...

  5. 初识ZooKeeper与集群搭建实例

    原文链接:http://www.linuxidc.com/Linux/2015-02/114230.htm zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Ch ...

  6. java 学习笔记(三)ZooKeeper集群搭建实例,以及集成dubbo时的配置 (转)

    ZooKeeper集群搭建实例,以及集成dubbo时的配置 zookeeper是什么: Zookeeper,一种分布式应用的协作服务,是Google的Chubby一个开源的实现,是Hadoop的分布式 ...

  7. zookeeper barrier和queue应用实例

    package org.windwant.zookeeper; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper. ...

  8. zookeeper节点Watch机制实例展示

    znode以某种方式发生变化时,“观察”(watch)机制可以让客户端得到通知.可以针对ZooKeeper服务的“操作”来设置观察,该服务的其他 操作可以触发观察. 实现Watcher,复写proce ...

  9. 初始zookeeper与集群搭建实例

    zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Chubby一个开源的实现,是Hadoop的分布式协调服务,它包含一个简单的原语集,应用于分布式应用的协作服务, ...

随机推荐

  1. Java8之旅(七) - 函数式备忘录模式优化递归

    前言 在上一篇开始Java8之旅(六) -- 使用lambda实现Java的尾递归中,我们利用了函数的懒加载机制实现了栈帧的复用,成功的实现了Java版本的尾递归,然而尾递归的使用有一个重要的条件就是 ...

  2. jQuery在项目中的应用

    版权声明:本文为博主原创文章,未经博主允许不得转载.(转载需注明出处 http://www.cnblogs.com/yanfei1819/p/7743661.html) [摘要]   最近在项目中应用 ...

  3. 一起来学linux:SSH远程登陆

    p { margin-bottom: 0.25cm; line-height: 120% } a:link { } 在最早的远程连接技术,主要是telnet和RSH为主.缺点也很明显,就是明文传输.在 ...

  4. 日志管理之 Docker logs - 每天5分钟玩转 Docker 容器技术(87)

    高效的监控和日志管理对保持生产系统持续稳定地运行以及排查问题至关重要. 在微服务架构中,由于容器的数量众多以及快速变化的特性使得记录日志和监控变得越来越重要.考虑到容器短暂和不固定的生命周期,当我们需 ...

  5. php 不写闭合标签

    参阅了一些文章,对PHP闭合标签的总结如下:       好处:如果这个是一个被别人包含的程序,没有这个结束符,可以减少很多很多问题,比如说:header, setcookie, session_st ...

  6. ios微信支付 v3

    V2版本和V3版本存在很大的差异. 1. 从成功通过微信支付商户的资料审核返回的邮件开始: 你可以获得这些参数  appid,appSecret,partnerID,    partnerKey(从平 ...

  7. 读书笔记-你不知道的JS上-对象

    好想要对象··· 函数的调用位置不同会造成this绑定对象不同.但是对象到底是什么,为什么要绑定他们呢?(可以可以,我也不太懂) 语法 对象声明有两个形式: 1.字面量 => var obj = ...

  8. css3+div画大风车

    今天已经礼拜三了,周天小颖家的佩佩就要结婚啦,小颖要去当伴娘了,哈哈哈哈哈哈,想想都觉得乐开了花,不过之前她给我说让我当她伴娘时,我说我要减肥,不然她那么瘦弱,我站旁边就感觉像一个圆滚滚的小皮球,小颖 ...

  9. Android模拟器调试html5 app

    主机:Linux x641.Android模拟器,模拟器设置--->打开Enable Usb Debug2.在主机上安装firefox,最低v36.菜单--->开发者--->WebI ...

  10. <script src="xxx.php"></script>

    应热情粉丝的殷切期待,我决定从百忙之中抽出时间来完成这篇博文.(开玩笑啦) 我也是近期才接触到这种引用js的办法.例如,有这样一段js代码 <script src='http://ww.***. ...