文档章节

关于kafka监控工具

阿dai学长
 阿dai学长
发布于 03/20 15:21
字数 1024
阅读 5.9K
收藏 18

概述

Apache Kafka 是一个快速、可扩展的、高吞吐的、可容错的分布式“发布-订阅”消息系统, 使用 Scala 与 Java 语言编写,能够将消息从一个端点传递到另一个端点。

较之传统的消息中间件(例如 ActiveMQ、RabbitMQ),Kafka 具有高吞吐量、内置分区、支持消息副本和高容错的特性,非常适合大规模消息处理应用程序。

kafka官网

Kafka 通常用于两大类应用程序:

  • 建立实时流数据管道,以可靠地在系统或应用程序之间获取数据。
  • 构建实时流应用程序,以转换或响应数据流。

kafka监控

kafka搭建好投入使用后,为了运维更便捷,借助一些管理工具很有必要。目前Kafka监控方案看似很多,然而并没有一个“大而全”的通用解决方案,各家框架也是各有千秋。

常见监控工具

  • Kafka Manager
  • Kafka Offset Monitor
  • Kafka Eagle
  • JmxTool
  • ... ...

工具比较

安装环境:Centos 7.6

工具名称 特点 备注
Kafka Manager 实现broker级常见的JMX监控; 能对consumer消费进度进行监控; 还能在页面上直接对多个集群进行管理。 编译安装,比较耗时; 不能进行访问控制; 不能配置告警; 耗费内存。
Kafka Eagle 能够实现broker级常见的JMX监控; 也能对consumer消费进度进行监控; 还能在页面上直接对多个集群进行管理。 安装方式简单,二进制包解压即用; 可以配置告警(钉钉、微信、email均可)。 需要数据库(mysql或sqlite)。
Kafka Offset Monitor 没做深入研究。。。 对新版本consumer和security的支持较差;<br />该项目已经近2年未维护了。
JmxTool 结合Influxdb和Grafana使用 比较繁琐

###centos7部署kafka-eagle

没有哪种方案是最合适的,只有哪种方案更适合自己的使用场景。在此我选用的kafka-eagle,因为kafka-manager实在太吃内存了。。。

推荐使用二进制包进行安装 kafka-eagle安装文档

配置

######################################
# multi zookeeper & kafka cluster list
######################################
# 配置多个Zookeeper & kafka集群
kafka.eagle.zk.cluster.alias=cluster-test,cluster-prod
cluster-test.zk.list=tvm11:2181,tvm12:2181,tvm13:2181
cluster-prod.zk.list=vm11:2181,vm12:2181,vm13:2181

######################################
# broker size online list
######################################
# 集群broker数量
cluster-test.kafka.eagle.broker.size=20
cluster-prod.kafka.eagle.broker.size=20

######################################
# zk client thread limit
######################################
# zk连接数(到zk获取kafka相关信息)
kafka.zk.limit.size=25

######################################
# kafka eagle web端口,默认8048 webui port
######################################
# kafka eagle web端口,默认8048
kafka.eagle.webui.port=8048

######################################
# kafka offset storage
######################################
# kafka offset,如果offset存储在zk中,则不需要该配置
cluster-test.kafka.eagle.offset.storage=kafka
cluster-prod.kafka.eagle.offset.storage=kafka

######################################
# kafka metrics, 30 days by default
######################################
# 监控kafka详情,需求kafka启动时开启jmx端口,即 JMX_PORT='9999' $KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties
kafka.eagle.metrics.charts=true
# 监控数据默认保留30天,根据需要调整
kafka.eagle.metrics.retain=30


######################################
# kafka sql topic records max
######################################
# If offset is out of range occurs, enable this property -- Only suitable for kafka sql
kafka.eagle.sql.topic.records.max=5000
kafka.eagle.sql.fix.error=false

######################################
# delete kafka topic token
######################################
# Delete kafka topic token -- Set to delete the topic token, so that administrators can have the right to delete
kafka.eagle.topic.token=keadmin

######################################
# kafka sasl authenticate
######################################
# kafka sasl认证相关
cluster-test.kafka.eagle.sasl.enable=false
cluster-test.kafka.eagle.sasl.protocol=SASL_PLAINTEXT
cluster-test.kafka.eagle.sasl.mechanism=SCRAM-SHA-256
cluster-test.kafka.eagle.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="kafka" password="kafka-eagle";
cluster-test.kafka.eagle.sasl.client.id=
cluster-test.kafka.eagle.sasl.cgroup.enable=false
cluster-test.kafka.eagle.sasl.cgroup.topics=

cluster-prod.kafka.eagle.sasl.enable=false
cluster-prod.kafka.eagle.sasl.protocol=SASL_PLAINTEXT
cluster-prod.kafka.eagle.sasl.mechanism=PLAIN
cluster-prod.kafka.eagle.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="kafka" password="kafka-eagle";
cluster-prod.kafka.eagle.sasl.client.id=
cluster-prod.kafka.eagle.sasl.cgroup.enable=false
cluster-prod.kafka.eagle.sasl.cgroup.topics=

# 存储引擎,用于存储Metrics信息
######################################
# kafka sqlite jdbc driver address
######################################
#kafka.eagle.driver=org.sqlite.JDBC
#kafka.eagle.url=jdbc:sqlite:/hadoop/kafka-eagle/db/ke.db
#kafka.eagle.username=root
#kafka.eagle.password=www.kafka-eagle.org

######################################
# kafka mysql jdbc driver address
######################################
kafka.eagle.driver=com.mysql.jdbc.Driver
kafka.eagle.url=jdbc:mysql://ip:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
kafka.eagle.username=username
kafka.eagle.password=password

**注意事项:**使用jmx监控的前提是 kafka 本身开启看 JMX_PORT 参数。

web界面管理

  • web界面地址:http://ip:8048/ke

  • 默认管理员账户/密码:admin/123456 (启动时会显示)

  • Dashboard:

  • Topic管理/consumer管理

  • 告警管理/用户权限管理

整体使用还是比较简单的,不做赘述。

推荐学习

请关注,楼主公众号!

© 著作权归作者所有

阿dai学长
粉丝 78
博文 274
码字总数 351323
作品 0
朝阳
运维
私信 提问
加载中

评论(0)

Kafka实战-Flume到Kafka

1.概述   前面给大家介绍了整个Kafka项目的开发流程,今天给大家分享Kafka如何获取数据源,即Kafka生产数据。下面是今天要分享的目录: 数据来源 Flume到Kafka 数据源加载 预览   下面开...

smartloli
2015/07/02
0
0
kafka监控实战(jmxtrans+InfluxDb+Grafana)

一、前言 从上周一直在调研找一款好用的kafka监控,我测试使用过的KafkaOffsetMonitor、Burrow、kafka-monitor、Kafka-Manager,他们各有优缺点,具体情况我这里就不展开描述了,大家可以到它...

navyaijm2012
2017/08/22
0
0
新书《深入理解Kafka:核心设计与实践原理》上架,感谢支持~

版权声明:本文为博主原创文章,未经博主朱小厮允许不得转载。 https://blog.csdn.net/u013256816/article/details/87898176 新书上架 初识 Kafka 时,笔者接触的还是 0.8.1 版本,Kafka 发展...

朱小厮
2019/02/23
0
0
Kafka 消费迟滞监控工具 Burrow

Kafka 官方对于自身的 LAG 监控并没有太好的方法,虽然Kafka broker 自带有 kafka-topic.sh, kafka-consumer-groups.sh, kafka-console-consumer.sh 等脚本,但是对于大规模的生产集群上,使...

Professor哥
2018/05/22
0
0
kafka管理监控插件

kafka 监控插件 1.KafkaOffsetMonitor 项目地址:https://github.com/quantifind/KafkaOffsetMonitor KafkaOffsetMonitor是用来实时监控Kafka集群的consumers以及它们在partition中的offset(......

Ryan-瑞恩
2015/09/23
813
0

没有更多内容

加载失败,请刷新页面

加载更多

郑州哪哪里可以开工程款发票-郑州_新闻网

【电薇同步;1.3.8 - 2.7.4.1 - 5.2.9.7.】张生、诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug Bridge,是Android手机通用...

yyqqvip
53分钟前
30
0
Nginx 反向代理访问

在Nginx 配置 server { listen 80; server_name www.xiaocx.org www.xiaocx.org www.xiaocx.org; root /Users/maison/work/xiaocx/dist; index i......

韩庚庚
57分钟前
33
0
python笔记:环境变量已设置CMD中一直报错"python"不是内部命令,也不是可运行的程序或批处理文件

这些天虽然也写了几个小工具,但是打包都是在anaconda prompt中完成的,因为CMD中一直报错"python"不是内部命令,也不是可运行的程序或批处理文件,各种查度,千篇一律的是环境变量配置的问题...

小玲_001
59分钟前
13
0
AI+BI服务模式

术语与缩写解释 缩写、术语 解 释 BI 商业智能(Business Intelligence,简称:BI),又称商业智慧或商务智能,指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据分析...

zoegu228
今天
22
0
leetcode1227(面试题 17.09. 第 k 个数)--C语言实现

求: 有些数的素因子只有 3,5,7,请设计一个算法找出第 k 个数。注意,不是必须有这些素因子,而是必须不包含其他的素因子。例如,前几个数按顺序应该是 1,3,5,7,9,15,21。 示例 1:...

拓拔北海
今天
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部