ZooKeeper监控工具(六)

简介: 之前说了那么多配置信息,具体做的怎么样,还需要真正的获取ZooKeeper的运行时信息才行。这里介绍ZooKeeper的监控。与文无关有如下方式:使用内置的四字命令来获取健康状态信息使用JMX查看运行状态使用Exhibitor使用Sass四字命令最简单的监控方式就是使用ZooKeeper的四字命令,你可以直接通过telnet或者nc命令查看状态。

之前说了那么多配置信息,具体做的怎么样,还需要真正的获取ZooKeeper的运行时信息才行。这里介绍ZooKeeper的监控。

img_046fccbdb13796fd373f5841f2f41491.png
与文无关

有如下方式:

  • 使用内置的四字命令来获取健康状态信息
  • 使用JMX查看运行状态
  • 使用Exhibitor
  • 使用Sass

四字命令

最简单的监控方式就是使用ZooKeeper的四字命令,你可以直接通过telnet或者nc命令查看状态。

img_80dc6bec0bdbb1e89452346155bb02df.png
四字命令

img_4d337d6ab9ce3fa58a83ead6f99dbc4e.png
四字命令

img_93c0c44f2b0783a76ad107f109fe047b.png
四字命令

常用的四字命令如下:

  • conf: 打印ZooKeeper的配置信息
  • cons: 列出所有的客户端会话链接
  • crst: 重置所有的客户端连接
  • dump: 打印集群的所有会话信息,包括ID,以及临时节点等信息。用在Leader节点上才有效果。
  • envi: 列出所有的环境参数
  • ruok: "谐音为Are you ok"。检查当前服务器是否正在运行。
  • stat: 获取ZooKeeper服务器运行时的状态信息,包括版本,运行时角色,集群节点个数等信息。
  • srst: 重置服务器统计信息
  • srvr: 和stat输出信息一样,只不过少了客户端连接信息。
  • wchs: 输出当前服务器上管理的Watcher概要信息
  • wchc: 输出当前服务器上管理的Watcher的详细信息,以session为单位进行归组
  • wchp: 和wchc非常相似,但是以节点路径进行归组
  • mntr: 输出比stat更为详细的服务器统计信息

JMX

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.access
monitorRole   readonly
controlRole   readwrite
 cat jmxremote.password
monitorRole mypassword
controlRole mypassword

接下来,我们可以使用jConsole或者VisualVM进行监控。

默认情况下,ZooKeeper允许本地进行监控。


img_b24b68d27847f6acff52a95d31c012e2.png
jconsole图

如果想要远程监控,可以修改zkServer.sh文件中的shell脚本


img_bf989347f32bf2265e65419c7a71a3c1.png
JMX参数图

修改方式为我们刚才看到的加上

-Dcom.sun.management.jmxremote.access.file=jmxremote.access
-Dcom.sun.management.jmxremote.password.file=jmxremote.password   

Exhibitor

Exhibitor是一个ZooKeeper的管理工具,由Netfix公司开发,在ZooKeeper监控,备份恢复,清洁,在可视化上提供了不小的帮助。

  1. 首先我们下载exhibitor的pom文件
mkdir build
cd build 
wget -c https://raw.github.com/Netflix/exhibitor/master/exhibitor-standalone/src/main/resources/buildscripts/standalone/maven/pom.xml
  1. 打包编译jar包
//这个打包的时间真心长
mvn clean package
// 测试是否正确打包,这个exhibitor根据你自己打包出来的文件名进行测试
java -jar target/exhibitor-1.6.0.jar --help       

  1. 运行
java -jar exhibitor-1.6.0.jar -c file
  1. 在浏览器中输入exhibitor的地址
    http://服务器地址:8080/exhibitor/v1/ui/index.html

  2. 配置Exhibitor


    img_b6a127383f08f43da40a8411393eb258.png
    Exhibitor面板
  1. 更多Exhitor的详细信息,参考github的wiki

https://github.com/soabase/exhibitor/wiki

云服务商

当然也有一些云服务商提供ZooKeeper的监控服务,一般都是收费的。
国外的有:server density. 网站:https://www.serverdensity.com/

最后

在看ZooKeeper监控的时候,发现ZooKeeper的监控工具都很老了,大部分都是几年前的了,ZooKeeper这是要被淘汰了吗...,好用的软件应该都有很好用的工具才对。不过既然当初它那么流行,还是有值得研究的地方...

参考

  • 《从Paxos到ZooKeeper-分布式一致性原理与实践》
  • 《Apache ZooKeeper Essetial》
  • Exhibitor Wiki
相关文章
|
机器学习/深度学习 自然语言处理 测试技术
87.8%准确率赶超GPT-4o登顶!谷歌DeepMind发布自动评估模型FLAMe
【8月更文挑战第21天】谷歌DeepMind推出的FLAMe(Foundational Large Autorater Models)是一种基于深度学习的自动评估模型,旨在通过分析输入文本与参考答案的差异来评估大型语言模型(LLMs)的输出质量。FLAMe采用多任务学习方法,在涵盖500万个手工评分的100多种质量评估任务上训练,展现出强大的泛化能力。在RewardBench基准测试中,FLAMe以87.8%的准确率超越GPT-4等先进模型。这一突破不仅降低了人工评估成本,还提高了评估效率,为自然语言处理等领域带来革新。
352 1
|
存储 Kubernetes Cloud Native
[云原生] [kubernetes] K8S安装存储类 - StorageClass
[云原生] [kubernetes] K8S安装存储类 - StorageClass
1254 0
[云原生] [kubernetes] K8S安装存储类 - StorageClass
|
安全 算法 小程序
院内智能导航系统赋能医院智慧化转型,加速医疗服务升级
**智慧医院的智能导航系统**是医疗数字化转型的关键,它改善患者就医体验,减轻医务人员压力,优化资源配置并强化安全监管。3D导航、AR指路、VR辅助、自动导诊和停车管理等先进技术,结合实时定位功能,确保精准、快捷的导航服务。此系统减少患者寻路时间,降低服务台咨询量,优化医院交通,增强患者安全,同时提高就医效率和医院信息化水平。
556 1
院内智能导航系统赋能医院智慧化转型,加速医疗服务升级
|
SQL 前端开发 数据可视化
如何使用 Workbench 远程连接到 MySQL 数据库 -MySQL Workbench 使用教程
MySQL Workbench 是一款专门为 MySQL 设计的可视化数据库 GUI 管理工具,我们可以在自己的计算机上,使用图形化界面(GUI)远程管理 MySQL 数据库。有关 MySQL 远程管理软件,你可以选择 Windows 下的 HeidiSQL,MacOS 下的 Sequel Ace 或者 MySQL 官方推出的跨平台客户端 MySQL Workbench
4675 1
|
消息中间件 Prometheus Kubernetes
K8S的Kafka监控(Prometheus+Grafana)
本文实战操作如何在K8S环境对kafka做监控(Prometheus+Grafana)
1044 0
K8S的Kafka监控(Prometheus+Grafana)
|
机器学习/深度学习 人工智能 编解码
|
机器学习/深度学习 自然语言处理 数据可视化
文本挖掘与可视化:生成个性化词云的Python实践【7个案例】
词云是文本数据可视化的工具,显示单词频率,直观、美观,适用于快速展示文本关键信息。 - 用途包括关键词展示、数据探索、报告演示、情感分析和教育。 - 使用`wordcloud`和`matplotlib`库生成词云,`wordcloud`负责生成,`matplotlib`负责显示。 - 示例代码展示了从简单词云到基于蒙版、颜色和关键词权重的复杂词云生成。 - 案例覆盖了中文分词(使用`jieba`库)、自定义颜色和关键词权重的词云。 - 代码示例包括读取文本、分词、设置词云参数、显示和保存图像。
2335 1
|
SQL 缓存 Java
Hive 之 UDF 运用(包会的)
Hive的UDF允许用户自定义数据处理函数,扩展其功能。`reflect()`函数通过Java反射调用JDK中的方法,如静态或实例方法。例如,调用`MathUtils.addNumbers()`进行加法运算。要创建自定义UDF,可以继承`GenericUDF`,实现`initialize`、`evaluate`和`getDisplayString`方法。在`initialize`中检查参数类型,在`evaluate`中执行业务逻辑。最后,打包项目成JAR,上传到HDFS,并在Hive中注册以供使用。
860 2
|
Oracle 关系型数据库 MySQL
Flink CDC产品常见问题之用superset连接starrocks报错如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
|
数据采集 数据可视化 大数据
处理大数据:Python 与数据库的结合
在处理大数据的领域中,Python 凭借其强大的数据处理和分析能力,成为了与数据库结合的理想选择。Python 提供了丰富的数据库接口和工具,可以与各种主流的关系型数据库和 NoSQL 数据库进行高效交互。本文将探讨 Python 在处理大数据方面与数据库结合的一些关键技术和应用。