Skip to content

Instantly share code, notes, and snippets.

@dallasmarlow
Created January 2, 2013 16:17
Show Gist options
  • Select an option

  • Save dallasmarlow/4435743 to your computer and use it in GitHub Desktop.

Select an option

Save dallasmarlow/4435743 to your computer and use it in GitHub Desktop.
check a zookeeper quorum size from jmx
require 'java'
import javax.management.ObjectName
import javax.management.remote.JMXServiceURL
import javax.management.remote.JMXConnectorFactory
host = "zk-a835862a.tld"
port = 10010
config = {
url: "service:jmx:rmi:///jndi/rmi://#{host}:#{port}/jmxrmi",
metric_query: "org.apache.ZooKeeperService:name0=ReplicatedServer_id*,name1=replica.*",
}
# setup connection
jmx = JMXConnectorFactory.connect JMXServiceURL.new config[:url]
mbean = jmx.getMBeanServerConnection
# query for replica beans
zookeeper_quorum_replicas = mbean.queryMBeans ObjectName.new(config[:metric_query]), nil
zookeeper_quorum_size = zookeeper_quorum_replicas.size
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment