java读取矩阵,在Java中使用JMX读取Cassandra矩阵

How can i produce live metrics of Cassandra in Java using JMX/Metrics? I want to run cassandra JMX command to collect cassandra matrices.Examples will be much appreciated.

解决方案

All Cassandra's metrics exposed via JMX are documented in official documentation. And because it uses the Metrics library, you may not need to use JMX to capture metrics - see the note at the end of the referenced page for more information (and conf/metrics-reporter-config-sample.yaml example file from Cassandra's distribution).

P.S. Maybe I misunderstood the question - can you provide more details? Are you looking for commands to collect that metrics from Cassandra? Or code snippets in Java?

From Java you can access the particular metrics with something like this:

JMXServiceURL url = new JMXServiceURL(

"service:jmx:rmi:///jndi/rmi://[127.0.0.1]:7199/jmxrmi");

JMXConnector jmxc = JMXConnectorFactory.connect(url, null);

MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();

Set objs = mbsc.queryMBeans(ObjectName

.getInstance("org.apache.cassandra.metrics:type=ClientRequest,scope=Read-ALL,name=TotalLatency"), null);

for (ObjectInstance obj : objs) {

Object proxy = JMX.newMBeanProxy(mbsc, obj.getObjectName(),

CassandraMetricsRegistry.JmxCounterMBean.class);

if (proxy instanceof CassandraMetricsRegistry.JmxCounterMBean) {

System.out.println("TotalLatency = " + ((CassandraMetricsRegistry.JmxCounterMBean) proxy).getCount());

}

}

jmxc.close();

More detailed example you can find at JmxCollector from cassandra-metrics-collector project...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值