12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- Tools and Recipes for ZooKeeper Monitoring
- ------------------------------------------
- How To Monitor
- --------------
- A ZooKeeper cluster can be monitored in two ways:
- 1. by using the 'mntr' 4letterword command
- 2. by using JMX to query the MBeans
- This repo contains tools and recipes for monitoring ZooKeeper using the first method.
- Check the file JMX-RESOURCE for some links to resources that could help you monitor a ZooKeeper cluster using the JMX interface.
- Requirements
- ------------
- ZooKeeper 3.4.0 or later or you can apply ZOOKEEPER-744 patch over the latest 3.3.x release.
- The server should understand the 'mntr' 4letterword command.
- $ echo 'mntr' | nc localhost 2181
- zk_version 3.4.0--1, built on 06/19/2010 15:07 GMT
- zk_avg_latency 141
- zk_max_latency 1788
- zk_min_latency 0
- zk_packets_received 385466
- zk_packets_sent 435364
- zk_num_alive_connections 1
- zk_outstanding_requests 0
- zk_server_state follower
- zk_znode_count 5
- zk_watch_count 0
- zk_ephemerals_count 0
- zk_approximate_data_size 41
- zk_open_file_descriptor_count 20
- zk_max_file_descriptor_count 1024
- Python 2.6 (maybe it works on previous version but it's not tested yet).
- In a nutshell
- -------------
- All you need is check_zookeeper.py It has no external dependencies.
- *** On Nagios call the script like this:
- ./check_zookeeper.py -o nagios -s "<server-or-list-of-servers>" -k <key> -w <warning> -c <critical>
- *** On Cacti define a custom data input method using the script like this:
- ./check_zookeeper.py -o cacti -s "<list-of-servers>" -k <key> --leader
- -- outputs a single value for the given key fetched from the cluster leader
- OR
- ./check_zookeeper.py -o cacti -s "<list-of-servers>" -k <key>
- -- outputs multiple values on for each cluster node
- ex: localhost_2182:0 localhost_2183:0 localhost_2181:0 localhost_2184:0 localhost_2185:0
- *** On Ganglia:
- install the plugin found in the ganglia/ subfolder OR
- ./check_zookeeper.py -o ganglia -s "<current-zookeeper-node>"
- it will use gmetric to send zookeeper node status data.
- Check the subfolders for configuration details and samples for each platform.
- License
- -------
- Apache License 2.0 or later.
- ZooKeeper 4letterwords Commands
- -------------------------------
- http://zookeeper.apache.org/docs/current/zookeeperAdmin.html#sc_zkCommands
|