Docs » Integrations Guide » Use the Smart Agent » Monitors » collectd/zookeeper

collectd/zookeeper 🔗

Monitor Type: collectd/zookeeper (Source)

Accepts Endpoints: Yes

Multiple Instances Allowed: Yes

Overview 🔗

Monitors an Apache Zookeeper instance using the Zookeeper collectd plugin. This plugin is installed with the Smart Agent so no additional installation is required to use this monitor. Supports Zookeeper 3.4.0 or later.

Configuration 🔗

To activate this monitor in the Smart Agent, add the following to your agent config:

monitors:  # All monitor config goes under this key
 - type: collectd/zookeeper
   ...  # Additional config

For a list of monitor options that are common to all monitors, see Common Configuration.

Config option Required Type Description
pythonBinary no string Path to a python binary that should be used to execute the Python code. If not set, a built-in runtime will be used. Can include arguments to the binary as well.
host yes string Host or IP address of the Zookeeper node
port yes integer Main port of the Zookeeper node
name no string This will be the value of the plugin_instance dimension on emitted metrics, if provided.

Metrics 🔗

These are the metrics available for this monitor. Metrics that are categorized as container/host (default) are in bold and italics in the list below.

  • counter.zk_fsync_threshold_exceed_count (cumulative)
    Number of times fsync duration has exceeded warning threshold
  • counter.zk_packets_received (cumulative)
    Count of the number of ZooKeeper packets received by a server
  • counter.zk_packets_sent (cumulative)
    Count of the number of ZooKeeper packets sent from a server
  • gauge.zk_approximate_data_size (gauge)
    Size of data in bytes that a ZooKeeper server has in its data tree
  • gauge.zk_avg_latency (gauge)
    Average time in milliseconds for requests to be processed
  • gauge.zk_ephemerals_count (gauge)
    Number of ephemeral nodes that a ZooKeeper server has in its data tree
  • gauge.zk_is_leader (gauge)
    1 if the node is a leader, 0 if the node is a follower
  • gauge.zk_max_file_descriptor_count (gauge)
    Maximum number of file descriptors that a ZooKeeper server can open
  • gauge.zk_max_latency (gauge)
    Maximum time in milliseconds for a request to be processed
  • gauge.zk_min_latency (gauge)
    Minimum time in milliseconds for a request to be processed
  • gauge.zk_num_alive_connections (gauge)
    Number of active clients connected to a ZooKeeper server
  • gauge.zk_open_file_descriptor_count (gauge)
    Number of file descriptors that a ZooKeeper server has open
  • gauge.zk_outstanding_requests (gauge)
    Number of currently executing requests
  • gauge.zk_service_health (gauge)
    1 if server is running, otherwise 0
  • gauge.zk_watch_count (gauge)
    Number of watches placed on Z-Nodes on a ZooKeeper server
  • gauge.zk_znode_count (gauge)
    Number of z-nodes that a ZooKeeper server has in its data tree

Group leader 🔗

All of the following metrics are part of the leader metric group. All of the non-default metrics below can be turned on by adding leader to the monitor config option extraGroups:

  • gauge.zk_followers (gauge)
    Number of followers within the ensemble. Only exposed by the leader.
  • gauge.zk_pending_syncs (gauge)
    Number of pending syncs from the followers. Only exposed by the leader.
  • gauge.zk_synced_followers (gauge)
    Number of synced followers. Only exposed by the leader.

Non-default metrics (version 4.7.0+) 🔗

To emit metrics that are not default, you can add those metrics in the generic monitor-level extraMetrics config option. Metrics that are derived from specific configuration options that do not appear in the above list of metrics do not need to be added to extraMetrics.

To see a list of metrics that will be emitted you can run agent-status monitors after configuring this monitor in a running agent instance.