当前位置:   article > 正文

Kafka(三) —— 集群监控_message in per minute

message in per minute

任何应用功能再强大、性能再优越,如果没有与之匹配的监控,那么一切都是虚无缥缈的。监控不仅可以为应用提供运行时的数据作为依据参考,还可以迅速定位问题,提供预防及告警等功能,很大程度上增强了整体服务的鲁棒性。

一、Kafka监控指标与获取

Kafka监控的4个维度:

  • 集群信息
  • broker信息
  • topic信息
  • consumer group信息
使用JConsole访问JMX

(1)终端输入jconsole,启动Java监视和管理控制台。

(2)修改kafka-run-class.sh,使JConsole可以通过远程连接。

KAFKA_JMX_OPTS="

-Dcom.sun.management.jmxremote 

-Dcom.sun.management.jmxremote.authenticate=false  

-Dcom.sun.management.jmxremote.ssl=false 

-Djava.rmi.server.hostname=服务器的IP地址或者域名"

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

(3)修改kafka-server-start.sh,增加export JMX_PORT="9999"

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
    export JMX_PORT="9999"
fi
  • 1
  • 2
  • 3
  • 4

(4)检查是否开启JMX

broker在启动过程中,始终会将JMX端口信息写入Kafka对应的位置.

(5)连接

(6)查看MBean

MBean的名称,xxx.type=yyy,{attr} = zzz

其中xxx指的是组件名,如xxx = kafka.server
zzz 和 attr 指的是MBean的范围,例如topic = test,表示该MBean的作用范围是名为test的topic。

指标分类:

  • kafka.server 服务器端JMX指标
  • kafka.network 网络相关JMX指标
  • kafka.log 分区日志相关JMX指标
  • kafka.controller controller相关指标
使用Java程序访问JMX

(1)监控broker一分钟消息流入的速度

kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec

OneMinuteRate 表示某个broker一分钟消息流入的速度(messages/s)。


public class KafkaJmxDemo {
   

    private MBeanServerConnection conn;

    private String jmxUrl;

    private String ipAndPort;

    public KafkaJmxDemo(String ipAndPort) {
   
        this.ipAndPort = ipAndPort;
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/712146
推荐阅读
相关标签
  

闽ICP备14008679号