文档章节

JMXClient

 代码强国
发布于 2015/07/21 13:01
字数 214
阅读 118
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

以读取kafka metrics为例。

实际使用中可将读取的metrics存入时序数据库中,然后从页面展示。kafka-manager等不支持历史的指标展示。

JMXClient.scala

import javax.management.remote.{JMXConnector, JMXConnectorFactory, JMXServiceURL}
import javax.management._
import kafka.server.BrokerTopicMetrics
import kafka.utils.Logging
import kafka.metrics.KafkaMetricsGroup

object JMXClient {

    def useage() {
        println("Useage: java JMXClient <RMI url>")
    }

    def main(args: Array[String]) {
        if (args.length != 1) {
            useage
            System.exit(-1)
        }

        val url: JMXServiceURL = new JMXServiceURL(args(0))
        val connector: JMXConnector = JMXConnectorFactory.connect(url)
        val mbsc: MBeanServerConnection = connector.getMBeanServerConnection

        val beanSet: java.util.Set[ObjectInstance] = mbsc.queryMBeans(new ObjectName("*kafka*:type=*,name=*"), null)
        val beans: Array[ObjectInstance] = beanSet.toArray(
            new Array[ObjectInstance](0)).sortWith((o1, o2) => o1.getClassName.compare(o2.getClassName) < 0)
        for (bean <- beans) {
            val objectName: ObjectName = bean.getObjectName
            println(objectName)
            mbsc.getMBeanInfo(objectName).getAttributes.foreach(attr =>
                println("\t%s\t\t\t%s".format(attr.getName, mbsc.getAttribute(objectName, attr.getName))))
        }
    }
}

构建脚本build.sh,需设置好SCALA_HOME和KAFKA_HOME

#!/usr/bin/env bash

SCALA_HOME=~/opt/scala-2.9.2
KAFKA_HOME=~/opt/kafka_2.9.2-0.8.1.1
SCALAC=$SCALA_HOME/bin/scalac
LIBS=.
for i in $KAFKA_HOME/libs/*.jar; do
  LIBS="$LIBS:$i"
done

cmd="$SCALAC -classpath $LIBS JMXClient.scala"
echo "$cmd"
$cmd


© 著作权归作者所有

粉丝 1
博文 69
码字总数 23723
作品 0
深圳
私信 提问
如何用zabbix 监控 tomcat

监控是比较容易调通的,就是zabbix 默认的 jmx tomcat和 jmx catalina模板存在不小的问题。最终的监控项什么的可能不全,只能自行去查找。 tomcat大致分布: 代理端: java-gateway服务客户端...

Linux就该这么学
06/01
99
0
zabbix通过JMX 监控tomcat

Linux运维专家群 QQ:419858299 技术成就梦想,欢迎小伙伴加入. 一、环境 1.Centos6.5 tomcat7 2.需要用到的文件:catalina-jmx-remote.jar和cmdline-jmxclient-0.10.3.jar 二、JDK安装方法不...

程小白0302
2018/06/26
0
0
Zabbix 监控 tomcat 连接池(报错org.archive.jmx.Client ...is not a registered bean)

Zabbix 监控 tomcat 连接池 一、 前言 领导提出需求,需要监控tomcat的连接池,之前已经通过zabbix监控了jvm(关于jvm监控这部分,后续补上)。在网上找了很多教程,经历了很多坑,不过还是要感...

hironepiece
2018/06/26
0
0
Zabbix利用JMX监控多实例Tomcat运行状态

自使用Zabbix监控系统以来,一直想用JMX来监控Tomcat,但是一直都没配置成功,总有一些问题,监控端的报错又很抽象,搜索网上大都是复制粘贴之产物,或者是缺斤短两之网文,但是一直都没放弃...

奋斗的寒霜
2018/06/28
0
0
zabbix监控tomcat

本文这监控了部分选项 客户端支持jmx监控请查看http://www.ttlsa.com/zabbix/zabbix-monitor-mutli-jmx-port/ 参考http://wangzan18.blog.51cto.com/8021085/1692444 将catalina-jmx-remote......

ly36843
2016/05/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

超过了最大请求长度。

尝试在网站上上传视频时,出现错误“ 最大请求长度超出” 。 我该如何解决? #1楼 我认为这里没有提到它,但是要使其正常工作,我必须在web.config中提供以下两个值: 在system.web <httpRun...

javail
7分钟前
1
0
宝塔好用吗?

不少新手站长对服务器运维知识不擅长,不知道怎样管理好云服务器。如果有一个简单易用的面板,站长们就不需要去学习运维技巧,把这些就交给后端工程师就好。 宝塔算是目前市面上使用用户较多...

BirdCloud
13分钟前
1
0
第二代网关GateWay搭建流程

Spring Cloud第二代网关GateWay是由纯Netty开发,底层为Reactor,WebFlux构建,不依赖任何Servlet容器,它不同于Zuul,使用的是异步IO,性能较Zuul提升1.6倍。搭建过程如下(本次搭建的为子项目...

算法之名
15分钟前
10
0
Drools规则引擎详解-常用的drl实例

package droolsDemo//说明:每个 drl 都必须声明一个包名,这个包名与 Java 里面的不同,它不需要与文件夹的层次结构一致,//主要用于可以根据kmodule.xml中不同的package属性来指定加载...

蜗牛伊
18分钟前
4
0
如何在Android Studio中“选择Android SDK”?

将Eclipse-Android-Project成功导入“ Android Studio 1.4”后,出现错误 “请选择Android SDK” 当我单击该按钮以在模拟器中运行该应用程序时,但找不到任何方法。 当我单击“运行”时,此对...

技术盛宴
22分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部