Zookeeper Watcher Daemon Docs


zk_watcher is a simple service that registers Ephemeral Nodes in Apache Zookeeper based on the result of a healthcheck. The service is available both as a Python script that you can run on your own, or as a Docker image (nextdoor/zkwatcher) that you can pull down.

The goal of zk_watcher is to monitor a particular service and register that machine as a provider of that service at a given path on the Zookeeper service.

A simple example is having zk_watcher monitor Apache httpd by running service apache2 status at a regular interval and registers with ZooKeeper at a given path (say /services/production/webservers). As long as the command returns a safe exit code (0), zk_watcher will register with ZooKeeper that this server is providing this particular service. If the hostname of the machine is web1.mydomain.com, the registration path would look like this


In the event that the service check fails, the host will be immediately de- registered from that path.

Indices and tables