Kafka 常用监控框架
Kafka 搭建好投入使用后,为了运维更便捷,借助一些管理工具很有必要。Kafka 社区似乎一直没有在监控框架方面投入太多的精力,目前 Kafka 监控方案看似很多,然而并没有一个"大而全"的通用解决方案,各家框架也是各有千秋。很多公司和个人都自行着手开发 Kafka 监控框架,其中并不乏佼佼者。今天我们就来全面地梳理一下主流的监控框架。
JMX
JMX 的全称为 Java Management Extensions. 顾名思义,是管理 Java 的一种扩展。这种机制可以方便的管理、监控正在运行中的 Java 程序。常用于管理线程,内存,日志 Level,服务重启,系统环境等。
关于 JMX 的使用,读者可以参考厮大这篇文章:
《如何使用 JMX 监控 Kafka》https://blog.csdn.net/u013256816/article/details/53524884
总体来说,JMXTool 是社区自带的一个小工具,对于一般简单的监控场景,它还能应付,但是它毕竟功能有限,复杂的监控整体解决方案,还是要依靠监控框架。
Kafka Manager(已更名为 CMAK)
为了简化开发者和服务工程师维护 Kafka 集群的工作,Yahoo 构建了一个叫做 Kafka 管理器的基于 Web 工具,叫做 Kafka Manager。这个管理工具可以很容易地发现分布在集群中的哪些 topic 分布不均匀,或者是分区在整个集群分布不均匀的的情况。它支持管理多个集群、选择副本、副本重新分配以及创建 Topic。
你可以很轻松的安装他:
你可以在 Kafka Manager 的 target/universal 目录下找到生成的 zip 文件,把它解压,然后修改里面的 conf/application.conf 文件中的 kafka-manager.zkhosts 项,让它指向你环境中的 ZooKeeper 地址,比如:
然后启动 Zookeeper 和 Kafka:
之后,运行以下命令启动 Kafka Manager:
然后我们就可以新建 Cluster,点击【Cluster】>【Add Cluster】打开如下添加集群的配置界面:
输入集群的名字(如 Kafka-Cluster-1)和 Zookeeper 服务器地址(如 localhost:2181),选择最接近的 Kafka 版本。
然后你就可以看到当前监控的 Kafka 集群的主题数量、Broker 数量等信息。
一个完整的过程你可以参考:
《Kafka 集群管理工具 kafka-manager 部署安装》https://blog.csdn.net/qq_43631716/article/details/120109732
Kafka Eagle
Kafka Eagle 监控系统也是一款用来监控 Kafka 集群的工具,支持管理多个 Kafka 集群、管理 Kafka 主题(包含查看、删除、创建等)、消费者组合消费者实例监控、消息阻塞告警、Kafka 集群健康状态查看等。
Kafka Eagle v1.2.3 整个系统所包含的功能,如下图所示:
展示 Kafka 集群的 Broker 数、Topic 数、Consumer 数、以及 Topic LogSize Top10 和 Topic Capacity Top10 数据。
主题创建、主题管理、主题预览、KSQL 查询主题、主题数据写入、主题属性配置等
监控不同消费者组中的 Topic 被消费的详情,例如 LogSize、Offsets、以及 Lag 等。同时,支持查看 Lag 的历史趋势图。
Kafka 集群和 Zookeeper 集群的详情展示,例如 Kafka 的 IP 和端口、版本号、启动时间、Zookeeper 的 Leader 和 Follower。同时,还支持多 Kafka 集群切换,以及 Zookeeper Client 数据查看等功能。
监控 Kafka 集群和 Zookeeper 集群的核心指标,包含 Kafka 的消息发送趋势、消息大小接收与发送趋势、Zookeeper 的连接数趋势等。同时,还支持查看 Broker 的瞬时指标数据。
告警集群异常和消费者应用 Lag 异常。同时,支持多种 IM 告警方式,例如邮件、钉钉、微信、Webhook 等。
包含用户管理,例如创建用户、用户授权、资源管理等。
展示消费者和生产者当日及最近 7 天趋势、Kafka 集群读写速度、Kafka 集群历史总记录等
Kafka Eagle 监控管理系统,提供了一个可视化页面,使用者可以拥有不同的角色,例如管理员、开发者、游客等。不同的角色对应不同的使用权限。
你可以参考的网站:
你可以看到 Kafka Eagle 的管理界面如下:
《Kafka 监控工具 Kafka Eagle》https://blog.csdn.net/weixin_45367149/article/details/108398580
Logi-KafkaManager
滴滴 Logi-KafkaManager 脱胎于滴滴内部多年的 Kafka 运营实践经验,是面向 Kafka 用户、Kafka 运维人员打造的共享多租户 Kafka 云平台。专注于 Kafka 运维管控、监控告警、资源治理等核心场景,经历过大规模集群、海量大数据的考验。内部满意度高达 90%的同时,还与多家知名企业达成商业化合作。
功能上,和 Kafka Manager 的对比如下:
你可以参考 GitHub:https://github.com/didi/LogiKM
滴滴甚至提供了一个体验平台:
体验地址 http://117.51.150.133:8080 账号密码 admin/admin
总结
除了我们上面介绍的 Kafka Manager、Kafka Eagle 等,使用 JMXTrans + InfluxDB + Grafana 的组合也是很多公司的选择。可以方便的做到定制化。
每种监控框架都有自己的优势,大家可以根据需要自行选择。
版权声明: 本文为 InfoQ 作者【大数据技术指南】的原创文章。
原文链接:【http://xie.infoq.cn/article/64c9118ba39d53de917be8e3e】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论