Kafka(三) —— 集群监控

本文介绍了Kafka监控的重要性和方式,包括通过JConsole访问JMX获取Kafka的集群信息、broker、topic和consumer group监控指标,以及详细步骤。此外,还介绍了监控系统kafka-eagle的安装参考和使用效果,强调了关键监控参数如消息入站、出站速率。
摘要由CSDN通过智能技术生成

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

一、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地址或者域名"

(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

(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;
    }

    /**
     * 初始化JMX连接
     *
     * @return
     */
    public 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值