-
Notifications
You must be signed in to change notification settings - Fork 42
Tools and Recipes for Monitoring Apache Zookeeper
License
andreisavu/zookeeper-monitoring
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Tools and Recipes for ZooKeeper Monitoring ------------------------------------------ UPDATE: This repository have been committed [1] to the ZooKeeper trunk as a contrib. You can find it under src/contrib/monitoring. Please use the ZooKeeper JIRA [2] to submit issues and feature requests. It's going to be a part of the upcoming 3.4.0 release. Thanks. [1] https://issues.apache.org/jira/browse/ZOOKEEPER-799 [2] https://issues.apache.org/jira/browse/ZOOKEEPER 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_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. ZooKeeper 4letterwords Commands ------------------------------- http://hadoop.apache.org/zookeeper/docs/current/zookeeperAdmin.html#sc_zkCommands
About
Tools and Recipes for Monitoring Apache Zookeeper
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published