ZooKeeper Opspack Overview
ZooKeeper is a distributed hierarchical key-value store, which is used to provide a distributed configuration service, synchronization service, and naming registry for large distributed systems. ZooKeeper was a sub-project of Hadoop.
ZooKeeper's architecture achieves high availability through redundant services and ZooKeeper nodes store their data in a hierarchical name space, which maintains the consistency of a shared configuration service. ZooKeeper is utilized by a variety of large organizations including Rackspace, Yahoo!, Reddit, and eBay as well as open source enterprise search systems such as Solr.
What You Can Monitor
Opsview Monitor contains all the important service checks to make sure your ZooKeeper environment is up and running. Service checks for ZooKeeper include:
Open_file_descriptor_percentage: Number of ZooKeeper file descriptors
Latency: The average/minimum/maximum latency of ZooKeeper
Server_mode: The current mode of the server (leader, follower and standalone)
Watch_count: The number of watchers on the ZooKeeper nodes
Ephemerals_count: Number of temporary nodes
Approximate_data_size: The size of the nodes
Synced_followers: The number of followers that the leader is sync with (only available on the Leader server)
Pending_syncs: The number of followers that the leader is waiting to sync with (only available on the Leader server)
Followers: The number of followers the leader server has (only available on the Leader server)
Packets_received: The total number of packets received by ZooKeeper
Packets_sent: The total number of packets sent by ZooKeeper
Connections: The ZooKeeper connection count
Outstanding_requests: The total number of oustanding requests
Node_count: The ZooKeeper node count
This Opspack has been tested against ZooKeeper 3.3.0 and 3.4.9. Some of the service checks will only work with ZooKeeper version 3.4+ and the leader server.
If you are running a version older than 3.4, then you will need to disable the service checks connections, approximate_data_size, ephemeral_count, followers, open_file_descriptor_percentage, pending_syncs, synced_followers and watch_count.
If you are monitoring a server that is in follower or standalone mode, then you will need to disable the service checks followers, pending_followers and synced_followers as these metrics are only available on the leader machine.
if you are running ZooKeeper with a non-Unix operating system, you will need to disable the service check open_file_descriptor_percentage.
Setup and configuration:
To configure and utilize this Opspack, you simply need to add the 'Application - ZooKeeper' Opspack to the host running the Zookeeper software. If Zookeeper is not using port 2181, specify the ZooKeeper Port via the variable 'ZOOKEEPER_PORT'.
Step 1: Add the host template
Step 2: Add and configure the ZOOKEEPER_PORT variable
Step 3: Reload and view the ZooKeeper statistics