设为首页 收藏本站
查看: 958|回复: 0

[经验分享] zookeeper命令使用及监控

[复制链接]

尚未签到

发表于 2019-1-8 10:10:39 | 显示全部楼层 |阅读模式
  本文只讲解zookeeper的四字命令及客户端连接服务端的zkCli.sh命令的使用及zookeeper的监控,如果需要安装请参考zookeeper安装及简介
1. 客户端获取zookeeper服务性能及详细信息的四字命令
  用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令。 ZooKeeper 常用四字命令如下表:
ZooKeeper 四字命令  功能描述
conf    输出相关服务配置的详细信息。
cons    列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息。包括“接受 / 发送”的包数量、会话 id 、操作延迟、最后的操作执行等等信息。
dump    列出未经处理的会话和临时节点。
envi    输出关于服务环境的详细信息(区别于 conf 命令)。
reqs    列出未经处理的请求
ruok    测试服务是否处于正确状态。如果确实如此,那么服务返回“imok ”,否则不做任何相应。
stat    输出关于性能和连接的客户端的列表。
  wchs    列出服务器 watch 的详细信息。
wchc    通过 session 列出服务器 watch 的详细信息,它的输出是一个与watch 相关的会话的列表。
wchp    通过路径列出服务器 watch 的详细信息。它输出一个与 session相关的路径。
下图是我们的实际案例

2. zkCli.sh 客户端连接服务端命令操作
  一般情况下zookeeper提供了三种方式:java/C客户端及zookeeper api进行交互,当然还有命令行的操作方式直接与zookeeper服务进行交互。这里只讲解命令行方式。
直接上操作图解
zkCli.sh IP 2181

3. 监控
  由于网络上提供的监控工具有各种安全问题,这里不建议使用网络上的监控软件,这里自己写脚本,使用zabbix进行监控或者直接使用jmx进行监控。这里只讲zabbix监控。
zabbix监控zookeeper通过shell脚本获取各个监控项的值,从而通过zabbix-agent发送给server。
脚本如下:
一共俩脚本
zabbix_zookeeper1.sh
#!/bin/bash
echo mntr|nc 172.16.80.202 2181|grep "$1" |awk '{print $2}'
zabbix_zookeeper1.sh
#!/bin/bash
echo srvr|nc 127.0.0.1 2181 | grep "$1" |awk '{print $2}'
在zabbix-agent的配置文件中配置
[root@node2 zabbix_agentd.d]# cat userparameter_zookeeper.conf
UserParameter=zookeeper1[],/bin/sh /data/scripts/zabbix_zookeeper1.sh $1
UserParameter=zookeeper1[
],/bin/sh /data/scripts/zabbix_zookeeper2.sh $1
最后在zabbix中添加主机同时添加监控项即可。
我们知道前面可以使用命令获取zookeeper服务的各种信息,这样我们就可以直接写脚本获取信息。
我们要获取zookeeper的哪些监控项的值呢?
网上给出了监控项:
系统监控   这个监控linux系统以及修改linux服务器参数即可
内存使用量    ZooKeeper应当完全运行在内存中,不能使用到SWAP。Java Heap大小不能超过可用内存。
Swap使用量    使用Swap会降低ZooKeeper的性能,设置vm.swappiness = 0
网络带宽占用   如果发现ZooKeeper性能降低关注下网络带宽占用情况和丢包情况,通常情况下ZooKeeper是20%写入80%读入
磁盘使用量    ZooKeeper数据目录使用情况需要注意
磁盘I/O      ZooKeeper的磁盘写入是异步的,所以不会存在很大的I/O请求,如果ZooKeeper和其他I/O密集型服务公用应该关注下磁盘I/O情况
  zk_avg/min/max_latency    响应一个客户端请求的时间,建议这个时间大于10个Tick就报警
zk_outstanding_requests        排队请求的数量,当ZooKeeper超过了它的处理能力时,这个值会增大,建议设置报警阀值为10
zk_packets_received      接收到客户端请求的包数量
zk_packets_sent        发送给客户端的包数量,主要是响应和通知
zk_max_file_descriptor_count   最大允许打开的文件数,由ulimit控制
zk_open_file_descriptor_count    打开文件数量,当这个值大于允许值得85%时报警
Mode                运行的角色,如果没有加入集群就是standalone,加入集群式follower或者leader
zk_followers          leader角色才会有这个输出,集合中follower的个数。正常的值应该是集合成员的数量减1
zk_pending_syncs       leader角色才会有这个输出,pending syncs的数量
zk_znode_count         znodes的数量
zk_watch_count         watches的数量
Java Heap Size         ZooKeeper Java进程的




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-660650-1-1.html 上篇帖子: Zookeeper详解(九):Zookeeper高可用方面的建议和日常运维 下篇帖子: zookeeper操作配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表