## Sensu-Plugins-Zookeeper [![Build Status](https://travis-ci.org/sensu-plugins/sensu-plugins-zookeeper.svg?branch=master)](https://travis-ci.org/sensu-plugins/sensu-plugins-zookeeper) [![Gem Version](https://badge.fury.io/rb/sensu-plugins-zookeeper.svg)](http://badge.fury.io/rb/sensu-plugins-zookeeper) [![Code Climate](https://codeclimate.com/github/sensu-plugins/sensu-plugins-zookeeper/badges/gpa.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-zookeeper) [![Test Coverage](https://codeclimate.com/github/sensu-plugins/sensu-plugins-zookeeper/badges/coverage.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-zookeeper) [![Dependency Status](https://gemnasium.com/sensu-plugins/sensu-plugins-zookeeper.svg)](https://gemnasium.com/sensu-plugins/sensu-plugins-zookeeper) [![Sensu Bonsai Asset](https://img.shields.io/badge/Bonsai-Download%20Me-brightgreen.svg?colorB=89C967&logo=sensu)](https://bonsai.sensu.io/assets/sensu-plugins/sensu-plugins-zookeeper) ## Sensu Asset The Sensu assets packaged from this repository are built against the Sensu Ruby runtime environment. When using these assets as part of a Sensu Go resource (check, mutator or handler), make sure you include the corresponding Sensu Ruby runtime asset in the list of assets needed by the resource. The current ruby-runtime assets can be found [here](https://bonsai.sensu.io/assets/sensu/sensu-ruby-runtime) in the [Bonsai Asset Index](bonsai.sensu.io). ## Functionality ## Files * check-znode.rb - Check if zookeeper znode exists and optionally match its contents * check-zookeeper-file-descriptors.rb - Check if Zookeeper has normal opened file descriptors rate * check-zookeeper-latency.rb - Check average latency on Zookeeper node * check-zookeeper-reqs.rb - Check if Zookeeper node has reliable number of outstanding requests * check-zookeeper-ruok.rb - Check if Zookeeper node responds to 'ruok' query succesfully * check-zookeeper-mode.rb - Check if Zookeeper node is in standalone or cluster(leader or follower) mode * check-zookeeper-cluster.rb - Check if a exhibitor managed Zookeeper cluster is OK. * check-netty-zookeeper-cluster.rb - Check if a zookeeper 3.5 cluster is OK. * metrics-zookeeper.rb - Gather metrics from Zookeeper * metrics-zookeeper-cluster.rb - Gather metrics from An Exhibitor run Zookeeper cluster ## Usage ``` $ check-znode.rb --help Usage: ./bin/check-znode.rb (options) -v, --check_value REGEX Optionally check the znode value against a regex -s, --servers zk-address zk address to connect to (required) -z, --znode ZNODE znode to check (required) ``` ``` $ check-zookeeper-file-descriptors.rb --help Usage: ./bin/check-zookeeper-file-descriptors.rb (options) -d DESCRIPTORS, Critical threshold for Zookeeper open files descriptors --file-descriptors -p, --port PORT Zookeeper port to connect to. -s, --server HOSTNAME Zookeeper hostname to connect to. -t, --timeout SECS How long to wait for a reply in seconds. ``` ``` $ check-zookeeper-cluster.rb --help Usage: ./bin/check-zookeeper-cluster.rb (options) -c, --count count Zookeeper cluster node count -e, --exhibitor status end point exhibitor end node for status checks -l, --latency TICKS Critical threshold for Zookeeper average latency -t, --timeout SECS How long to wait for a reply in seconds. -p, --port port Zookeeper nodes' listen port ``` ``` $ check-netty-zookeeper-cluster.rb --help Usage: ./bin/check-netty-zookeeper-cluster.rb (options) -c, --count count Zookeeper cluster follower count -l, --latency TICKS Critical threshold for Zookeeper average latency -p, --port port Zookeeper nodes' listen port ``` ``` $ metrics-zookeeper.rb --help Usage: ./bin/metrics-zookeeper.rb (options) --host HOST ZooKeeper host --port PORT ZooKeeper port --scheme SCHEME Metric naming scheme, text to prepend to metrics ``` ``` $ metrics-zookeeper-cluster.rb --help Usage: ./bin/metrics-zookeeper-cluster.rb (options) -e, --exhibitor status end point exhibitor end node for status checks --scheme SCHEME Metric naming scheme, text to prepend to metrics -p, --port port Zookeeper nodes' listen port ``` ``` $ check-zookeeper-ruok.rb --help Usage: ./bin/check-zookeeper-ruok.rb (options) -p, --port PORT Zookeeper port to connect to. -s, --server HOSTNAME Zookeeper hostname to connect to. -t, --timeout SECS How long to wait for a reply in seconds. ``` ``` $ check-zookeeper-reqs.rb --help Usage: ./bin/check-zookeeper-reqs.rb (options) -r, --reqs REQS Critical threshold for Zookeeper outstanding requests -p, --port PORT Zookeeper port to connect to. -s, --server HOSTNAME Zookeeper hostname to connect to. -t, --timeout SECS How long to wait for a reply in seconds. ``` ``` $ check-zookeeper-mode.rb --help Usage check-zookeeper-mode.rb (options) -m, --mode MODE Space separated expected modes. (required) -p, --port PORT Zookeeper port to connect to. -s, --server HOSTNAME Zookeeper hostname to connect to. -t, --timeout SECS How long to wait for a reply in seconds. ``` ``` $ check-zookeeper-latency.rb --help Usage: ./bin/check-zookeeper-latency.rb (options) -l, --latency TICKS Critical threshold for Zookeeper average latency -p, --port PORT Zookeeper port to connect to. -s, --server HOSTNAME Zookeeper hostname to connect to. -t, --timeout SECS How long to wait for a reply in seconds. ``` ## Installation [Installation and Setup](http://sensu-plugins.io/docs/installation_instructions.html) ## Notes