Zookeeper monitoring is a Gateway configuration file that enables monitoring of the Zookeeper Replicas through a set of samplers with customised JMX plug-in settings.
Zookeeper is a distributed process that allows deployment configurations and can be used as a container manager. It has a built-in load balancing capability that can manage multiple services in different machines simultaneously.
Track the following key areas when using Zookeeper monitoring:
|Replica configuration||Refers to the configuration settings the users can set.|
|Replica statistics||Replica metrics that provide information about the overall health of the Zookeeper Ensemble.|
This guide is intended for users who are setting up, configuring, troubleshooting and maintaining this integration. This is also intended for users who will be using Active Console to monitor data from Zookeeper. Once the integration is set up, the samplers providing the dataviews become available to that Gateway.
As a user, you should be familiar with Java or any other database, and with the administration of the Zookeeper services.
The following requirements must be met before the installation and setup of the template:
- A machine running the Netprobe must have access to the host where the Zookeeper instance is installed and the port Zookeeper is listening to.
- Netprobe 4.6 or higher.
- Gateway 4.8 or higher.
- Zookeeper 3.4.11.
Ensure that you have read and can follow the system requirements prior to installation and setup of this integration template.
- Download the integration package
geneos-integration-zookeeper-<version>.zipfrom the ITRS Downloads site.
- Open Gateway Setup Editor.
- In the Navigation panel, click Includes to create a new file.
- Enter the location of the file to include in the Location field. In this example, it is the
- Update the Priority field. This can be any value except
1. If you input a priority of
1, the Gateway Setup Editor returns an error.
- Expand the file location in the Include section.
- Select Click to load.
- Click Yes to load the new Zookeeper include file.
- Click Managed entities in the Navigation panel.
- Add the Zookeeper-Replica type to the Managed Entity section that you will use to monitor Zookeeper.
- Click Validate current document to check your configuration.
- Click Save current document to apply the changes.
Set up the samplers
These are the pre-configured samplers available to use in
Configure the required fields by referring to the table below:
Set up the variables
ZookeeperMonitoring.xml template provides the following variables that are set in the Environments section:
|ZOOKEEPER_JMX_HOST||IP/Hostname of the Zookeeper Replica.
|ZOOKEEPER_JMX_PORT||JMX port of the Zookeeper Replica.
|ZOOKEEPER_MYID||MYID of the Zookeeper Replica.
|ZOOKEEPER_MONITORING_GROUP_NAME||Sampler group name.
|ZOOKEEPER_REPLICA_CFG_SAMPLING_INTERVAL||Sampler interval of ReplicaCfg.
|ZOOKEEPER_REPLICA_STATS_SAMPLING_INTERVAL||Sampler interval of ReplicaStats.
Set up the rules
Zookeeper-SampleRules.xml template also provides a separate sample rules that you can use to configure the Gateway Setup Editor.
Your configuration rules must be set in the Includes section.
The table below shows the included rule set-up in the configuration file that sets the severity rules and triggers alerts to:
|Zookeeper-ReplicaStats-HighLatency||Monitor the server response time.|
|Zookeeper-ReplicaStats-HighOutstandingRequests||Detect any pending requests in the server, and if they exceed the provided limit.|
|Zookeeper-ReplicaStats-NoWatchers||Notify when the monitored Replica has no watchers.|
|Zookeeper-ReplicaStats-NoZNodes||Notify when the monitored Replica has no znodes.|
Metrics and dataviews
|state||Status of the ReplicaCfg on the running server that can be either a "leader" or "follower".|
|minSessionTimeOut||Minimum amount of time sessions with Zookeeper servers.|
|maxSessionTimeOut||Maximum amount of time sessions with Zookeeper servers|
|tickTime||Time unit that Zookeeper is using.
Unit: milliseconds (ms)
|initLimit||Amount of time in ticks.
|syncLimit||Number of process allowed to sync with Zookeeper.
|maxClientCnxnsPerHost||Maximum number of connections allowed per host that the client is using, as identified by IP address.|
|quorumAddress||Address of Zookeeper Replica.|
|electionType||Type of election that the Zookeeper server is using.|
|name||Name of Zookeeper Replica.|
|startTime||Time when the Zookeeper Replica was started.
|electionTimeTaken||Time taken to complete election.|
|outstandingRequests||Number of pending requests in the server.|
|numAliveConnections||Number of active connections in the server.|
|avgRequestLatency||Average time it takes for the server to respond to a request.|
|maxRequestLatency||Maximum time it takes for the server to respond to a request.|
|minRequestLatency||Minimum time it takes for the server to respond to a request.|
|packetsReceived||Number of packet operations received.|
|packetsSent||Number of packet operations sent.|
|watchCount||Number of watchers on Zookeeper nodes.|
|nodeCount||Number of znodes in the Zookeepeer data.|