非原创内容,转自眄眄的闺蜜

首先最简单的是监听服务端口,在zabbix界面直接添加监控项
item:
zookeeper.status
key:
net.tcp.listen[2181]
ZooKeeper监控要点:

内存使用量    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进程的
在服务器端我们可以通过命令查看这些项目:
[root@localhost ~]# echo ruok|nc 127.0.0.1 2181
imok
[root@localhost ~]# echo mntr|nc 127.0.0.1 2181
zk_version    3.4.6-1569965, built on 02/20/2014 09:09 GMT
zk_avg_latency    0
zk_max_latency    1364
zk_min_latency    0
zk_packets_received    184218311
zk_packets_sent    184995960
zk_num_alive_connections    33
zk_outstanding_requests    0
zk_server_state    leader
zk_znode_count    821128
zk_watch_count    2346
zk_ephemerals_count    47
zk_approximate_data_size    62155934
zk_open_file_descriptor_count    62
zk_max_file_descriptor_count    4096
zk_followers    2
zk_synced_followers    2
zk_pending_syncs    0
[root@localhost ~]# echo srvr|nc 127.0.0.1 2181
Zookeeper version: 3.4.6-1569965, built on 02/20/2014 09:09 GMT
Latency min/avg/max: 0/0/1364
Received: 184218603
Sent: 184996253
Connections: 33
Outstanding: 0
Zxid: 0x40d1a259a
Mode: leader
Node count: 821136

接下来就是写一个监控脚本来输出这些参数的具体情况:
cd /usr/local/zabbxi/share/script/
vi zookeeper_check1.sh
#!/bin/bash
echo mntr | nc 127.0.0.1 2181 | grep "$1" |awk '{print $2}'

vi zookeeper_check2.sh
#!/bin/bash
echo srvr|nc 127.0.0.1 2181 | grep "$1" |awk '{print $2}'

zabbix-agentd.comf里面加入key:
vi /usr/local/zabbix/etc/zabbix_agentd.conf
UserParameter=zookeeper1[*],/bin/sh /usr/local/zabbix/share/script/zookeeper_check1.sh $1
UserParameter=zookeeper2[*],/bin/sh /usr/local/zabbix/share/script/zookeeper_check2.sh $1

重启zabbix客户端
然后在zabbix界面添加监控项
------------------------------------------------------------------------------------------------
ztwl配置实例:
#!/bin/bash
zk=`echo ruok|nc 127.0.0.1 2181`
if [[ "$zk" == "imok" ]] ; thenecho 1
elseecho 0
fi

UserParameter=zookeeper.status,/bin/sh /etc/zabbix/zookeeper_check.sh

转载于:https://www.cnblogs.com/hh2737/p/8257419.html

Zabbix监控Zookeeper健康状况相关推荐

  1. Zabbix监控zookeeper

    Zabbix监控zookeeper 近期需求增加zookeeper监控到zabbix , 经过一番搜索, 确定通过 agentd端运行脚本的方式采集数据,传送给 zabbix-server端. Zab ...

  2. 使用Zabbix监控ZooKeeper服务的健康状态

    一 应用场景描述 在目前公司的业务中,没有太多使用ZooKeeper作为协同服务的场景.但是我们将使用Codis作为Redis的集群部署方案,Codis依赖ZooKeeper来存储配置信息.所以做好Z ...

  3. Zabbix监控web基本配置

    文章目录 一:Zabbix 介绍 二:zabbix监控配置步骤 三:web端 --- 语言配置 四:web端 -- Monitoring设置 1. 调整仪表板(Dashboard) 2.仪表板信息介绍 ...

  4. Zabbix监控大数据集群(一)

    Zabbix监控大数据集群 一.监控Linux系统 ​ 对于各种大数据框架的监控可能要用到Zabbix-Sender组件,我们这里首先进行安装(如果不安装,可能会导致数据无法发送): yum inst ...

  5. zabbix监控nginx,网易Java面试流程

    同样的添加到之前的配置文件里面,重启agent端服务读取脚本 我们在server1验证,获取agent端的相关键值 同样的,分别添加三个监控项nginx_accept,nginx_handle,ngi ...

  6. Zabbix监控Kafka topic积压数据

    Kafka Apache Kafka是一个分布式发布-订阅消息系统和一个强大的队列,可以处理大量的数据,并使您能够将消息从一个端点传递到另一个端点. Kafka适合离线和在线消息消费. Kafka消息 ...

  7. 手把手教你使用zabbix监控nginx

    zabbix监控nginx,多亏了容哥(杨容)的帮忙,为了感谢容哥的帮助,写了这篇文章. 环境介绍: 服务器系统版本:CentOSrelease 6.6 (Final) 内核版本:Linux hk_n ...

  8. zabbix监控客户端(二)

    zabbix监控客户端(二) 1.同步客户端时间,防止跟服务器端不一致,导致检测到不可用的监控数据. 2.创建zabbix运行所需要的用户跟组 #groupadd -g 201 zabbix #use ...

  9. zabbix 监控tomcat实例

    zabbix 监控tomcat实例 环境: CentOS 7.2 zabbix-3.0.5 LTS nginx-1.10.1 php-7.0.11 mariadb-10.1.18 tomcat-9 请 ...

最新文章

  1. Problem A: 编写函数:三个数的最大最小值 (Append Code)
  2. 安装composer出现链接补上的问题
  3. PetShop 中的字符串过滤
  4. CSDN-markdown编辑器的使用方法
  5. 更深更宽的孪生网络,有效提升目标跟踪精度,代码开源
  6. java nature_什麼是Eclipse項目的JavaEMFNature nature?
  7. 一款完全仿照E盾的源码(服务端+代理端+客户端)
  8. 第五节 FLASH 程序存储器和数据EEPROM
  9. 数字电路3(逻辑函数的卡诺图化简法)
  10. 用layui+metinfo 实现分页获取频道观看日志
  11. 算法学习 区间dp 涂色PAINT
  12. adb连接的2种方式,有线(USB线)和无线
  13. R语言-变量命名规则
  14. 【JAVA语言基础】
  15. 自学篇之如何高效地学习网络安全
  16. power supply frameware 框架
  17. 软考高级 真题 2013年下半年 信息系统项目管理师 案例分析
  18. 破解linux系统的root密码
  19. ecmall mysql调用_ECMall系统请求跳转分析
  20. 手把手系列:教你安装和设置抓包工具Charles(亲测适用Win10)

热门文章

  1. Elasticsearch数据备份与恢复(基于HDFS)
  2. ES01 数据类型、正则表达式、身份证校验
  3. LeetCode 250. Count Univalue Subtrees
  4. 线程问题—一个线程怎么调出另外一个线程的结果。
  5. C++#define的用法(含特殊)
  6. 【jQuery小实例】---2自定义动画
  7. 鞭策你一辈子的好文章
  8. information_schema系列八(事物,锁)
  9. express+mongodb+vue实现增删改查-全栈之路
  10. Java浮点数内存存储