kafka 监控之mx4j-tool

本文介绍了Kafka集群的监控方法,主要通过Kafka自带的JmxTool工具收集集群中JVM暴露的Bean信息,并提供了使用示例。同时指出直接使用JmxTool可能存在的问题,并预告了后续将介绍更优的监控方案。

      线上运行kafka集群,集群运行状态察看是非常必要的。kafka本身在该方面也做的比较到位,目前从源码级反应我们可以大致有两种方式。我下面一一细说。
      kafka源码包中有kafka.tools.JmxTool.scala,部分代码如下:

object JmxTool {

  def main(args: Array[String]) {
    // Parse command line
    val parser = new OptionParser
    val objectNameOpt = 
      parser.accepts("object-name", "A JMX object name to use as a query. This can contain wild cards, and this option " +
                                    "can be given multiple times to specify more than one query. If no objects are specified " +   
                                    "all objects will be queried.")
      .withRequiredArg
      .describedAs("name")
      .ofType(classOf[String])
    val reportingIntervalOpt = parser.accepts("reporting-interval", "Interval in MS with which to poll jmx stats.")
      .withRequiredArg
      .describedAs("ms")
      .ofType(classOf[java.lang.Integer])
      .defaultsTo(5000)
    val helpOpt = parser.accepts("help", "Print usage information.")
    val dateFormatOpt = parser.accepts("date-format", "The date format to use for formatting the time field. " + 
                                                      "See java.text.SimpleDateFormat for options.")
      .withRequiredArg
      .describedAs("format")
      .ofType(classOf[String])
      .defaultsTo("yyyy-MM-dd HH:mm:ss.SSS")
    val jmxServiceUrlOpt = 
      parser.accepts("jmx-url", "The url to connect to to poll JMX data. See Oracle javadoc for JMXServiceURL for details.")
      .withRequiredArg
      .describedAs("service-url")
      .ofType(classOf[String])
      .defaultsTo("service:jmx:rmi:///jndi/rmi://:9999/jmxrmi")
       

      JmxTool.scala 的工作目的就是收集kafka集群中jvm暴露的bean信息并打印出来。具体的运行示例是:

./kafka-run-class.sh kafka.tools.JmxTool --jmx-url service:jmx:rmi:///jndi/rmi://:9999/jmxrmi
    

      但是利用该种监控方式,你将看到满屏不知所云的消息,不明觉厉??
      因此该种方式只是提供了一种解决方案而已,真正要做的是仿照JmxTool.scala代码写出自行监控的代码。

      难道没有更好的方案了吗???当然不是。

      下一篇我将具体讲到怎么通过Mx4jLoader得到kafka更好的监控方法。

     



     

转载于:https://my.oschina.net/u/591402/blog/158139

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值