From Zenoss Wiki
This is the approved revision of this page, as well as being the most recent.
Jump to: navigation, search
Zenoss, Inc.
GNU General Public License, Version 2, or later
ZenPack name
More Information
GitHub page/HomePage
Git sources (for cloning)

Applications Monitored: 

ZooKeeper ZenPack

Monitoring of Apache ZooKeeper nodes and clusters.


The ZenPack Catalog has moved to its new home at https://www.zenoss.com/product/zenpacks as of January 17, 2017. The following information may be out of date, and this page will eventually be removed.


This is an Open Source ZenPack developed by Zenoss, Inc. Enterprise support for this ZenPack is available to commercial customers with an active subscription.


Version 1.0.0- Download
Released on 2014/09/05
Requires PythonCollector ZenPack
Compatible with Zenoss Core 4.2.x, Zenoss Resource Manager 4.2.x


The ZenPacks.zenoss.ZooKeeper ZenPack monitors Apache ZooKeeper server via Twisted client TCP connection.



The features added by this ZenPack can be summarized as follows. They are each detailed further below.

  • Discovery and periodic remodeling of ZooKeeper component.
  • Performance monitoring.
  • Event monitoring.
  • Optional service impact with addition of Zenoss Service Dynamics product.


The following component will be automatically discovered through the ZooKeeper port you provide:

Attributes: Name, Mode, Status, Node Count, ZooKeeper Version, Zxid

Performance Monitoring

The following metrics will be collected and graphed every 5 minutes by default:

Metrics: Outstanding Requests, Received/Sent Packets, Connections, Avg/Min/Max Latencies

Event monitoring

The following events will be triggered:

Error: Incorrect port supplied or connection refused.

Service Impact

When combined with the Zenoss Service Dynamics product, this ZenPack adds built-in service impact capability for ZooKeeper. The following service impact relationships are automatically added. These will be included in any services containing one or more of the explicitly mentioned entities.

Service Impact Relationships
  • ZooKeeper is affected by hosting Device failure.
External Impact Relationships
  • ZooKeeper failure affects associated Hadoop Data Node, Secondary Name Node, Job Tracker, Task Tracker, Resource Manager, Node Manager and Job History.


Use the following steps to start monitoring ZooKeeper server:

  1. Select Infrastructure from the navigation bar.
  2. Click the device name in the device list. The device overview page appears.
  3. Select Configuration Properties from the left panel.
  4. Set zZooKeeperPort if ZooKeeper port differs from the default one (2181).
  5. Navigate to the Modeler plugins page of the device containing your ZooKeeper server and add the ZooKeeperCollector modeler plugin.
  6. Select Model device from the gear menu.

Alternatively you can use zenbatchload to add ZooKeeper monitoring servers from the command line. To do this, you must create a text file with hostname and ZooKeeper port of all the servers you want to add. The devices should be added under the target machine device class (e.g. '/Devices/Server/Linux' in the example below).

/Devices/Server/Linux zCollectorPlugins=['ZooKeeperCollector']
<HOST NAME> zZooKeeperPort='2181'

You can then load the ZooKeeper monitoring servers into Zenoss Core or Resource Manager as devices with the following command.

$ zenbatchload <filename>


Please refer to the Zenoss Service Dynamics documentation if you run into any of the following problems:

  • ZenPack will not install
  • Adding a device fails
  • Don't understand how to add a device
  • Don't understand how to model a device

If you cannot find the answer in the documentation, then Resource Manager (Service Dynamics) users should contact Zenoss Customer Support. Core users can use the #zenoss IRC channel or the community.zenoss.org forums.

Installed Items

Installing this ZenPack will add the following items to your Zenoss system.

Modeler Plugins
  • ZooKeeperCollector
Monitoring Templates
  • ZooKeeper (in /Device)
Component Types
  • ZooKeeper (on related device)


Type Name
Performance Collector zenpython


  • Initial release


Normal Installation (packaged egg)

  1. Download the appropriate egg file for the version of Zenoss you are running.
  2. Ensure you are logged in as the zenoss user:
    $ sudo su - zenoss
  3. Install the ZenPack:
    $ zenpack --install ZenPacks.zenoss.ZooKeeper-*.egg
  4. Restart these services:
    $ zenoss restart

Developer Mode Installation

In order to do a development mode installation you will want to clone the existing git repository, and then use the --link flag with the zenpack command:

  1. Ensure you are logged in as the zenoss user:
    $ sudo su - zenoss
  2. Start by cloning the upstream repository:
    $ git clone https://github.com/zenoss/ZenPacks.zenoss.ZooKeeper.git
  3. Next, perform the installation:
    $ zenpack --link --install ZenPacks.zenoss.ZooKeeper
  4. Finally, restart these serivices:
    $ zenoss restart


Purplemarker.png New: Don't forget to add yourself to the Zenoss User Map!

blog comments powered by Disqus