Zabbix实战-简易教程--中间件ZooKeeper监控

1、监控思路

经过zabbix trapper方式监控,以前看到网友们都是经过定时任务进行主动上传数据,可是,zabbix还有另一神器--自动发现,也能达到一样的功能。java

2、实现步骤

一、准备脚本node

https://github.com/loveqx/zabbix-doc/blob/master/zabbix-scripts/zabbix-template-zookeeper/zookeeper-monitor-lld.pypython

二、安装依赖包git

#Centos6
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
#Centos7
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
yum install -y nc
yum install -y zabbix-sender

  

三、实现原理github

 

echo ruok|nc 127.0.0.1 2181
imok


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 6
zk_min_latency 0
zk_packets_received 93114
zk_packets_sent 93113
zk_num_alive_connections 4
zk_outstanding_requests 0
zk_server_state leader
zk_znode_count 29
zk_watch_count 0
zk_ephemerals_count 14
zk_approximate_data_size 1087
zk_open_file_descriptor_count 39
zk_max_file_descriptor_count 1000000
zk_followers 4
zk_synced_followers 4
zk_pending_syncs 0


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/6
Received: 93121
Sent: 93120
Connections: 4
Outstanding: 0
Zxid: 0x900000020
Mode: leader
Node count: 29

  

ZooKeeper 经常使用四字命令:web

 ZooKeeper 支持某些特定的四字命令字母与其的交互。它们大可能是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端能够经过 telnet 或 nc 向 ZooKeeper 提交相应的命令服务器

1. 能够经过命令:echo stat|nc 127.0.0.1 2181 输出服务器的详细信息:接收/发送包数量、链接数、模式(leader/follower)、节点总数、延迟。 全部客户端的列表。
2. 使用echo ruok|nc 127.0.0.1 2181 测试服务是否处于正确运行状态。若是正常返回"imok",不然返回空。
3. echo dump| nc 127.0.0.1 2181 ,列出未经处理的会话和临时节点(只在leader上有效)。
4. echo kill | nc 127.0.0.1 2181 ,关掉server
5. echo conf | nc 127.0.0.1 2181 (New in 3.3.0)输出相关服务配置的详细信息。好比端口、zk数据及日志配置路径、最大链接数,session超时时间、serverId等
6. echo cons | nc 127.0.0.1 2181 ,(New in 3.3.0)列出全部链接到这台服务器的客户端链接/会话的详细信息。包括“接受/发送”的包数量、session id 、操做延迟、最后的操做执行等信息。
7. echo envi |nc 127.0.0.1 2181 ,输出关于服务器的环境详细信息(不一样于conf命令),好比host.name、java.version、java.home、user.dir=/data/zookeeper-3.4.6/bin之类信息
8. echo reqs | nc 127.0.0.1 2181 ,列出未经处理的请求。
9. echo wchs | nc 127.0.0.1 2181 ,(New in 3.3.0)列出服务器watches的简洁信息:链接总数、watching节点总数和watches总数
10. echo wchc | nc 127.0.0.1 2181 ,(New in 3.3.0)经过session分组,列出watch的全部节点,它的输出是一个与 watch 相关的会话的节点列表。若是watches数量很大的话,将会产生很大的开销,会影响性能,当心使用。
11. echo wchp | nc 127.0.0.1 2181 ,(New in 3.3.0)经过路径分组,列出全部的 watch 的session id信息。它输出一个与 session相关的路径。若是watches数量很大的话,将会产生很大的开销,会影响性能,当心使用。
12.echo mntr | nc localhost 2181  (New in 3.4.0)列出集群的健康状态。包括“接受/发送”的包数量、操做延迟、当前服务模式(leader/follower)、节点总数、watch总数、临时节点总数。
13.echo srvr | nc localhost 2181 (New in 3.3.0)输出服务器的详细信息。zk版本、接收/发送包数量、链接数、模式(leader/follower)、节点总数。
14.echo crst | nc localhost 2181 (New in 3.3.0)重置当前这台服务器全部链接/会话的统计信息
15.echo srst | nc localhost 2181 重置服务器的统计信息

  

 

四、配置agent端session

  安装:将脚本zookeeper-monitor-lld.py放置在/etc/zabbix/externalscripts目录下app

  配置文件中添加:性能

UserParameter=zookeeper.discovery,python /etc/zabbix/externalscripts/zookeeper-monitor-lld.py all

  

五、web配置模板(Template App For  Zookeeper Traper LLd)

 

 

特别注意地方!!!配置发现规则,设置数据发送间隔,很重要!!!

 

 

六、应用模板,查看数据

 

 

七、设置触发器

相关文章
相关标签/搜索