关于kafka监控工具
概述
Apache Kafka 是一个快速、可扩展的、高吞吐的、可容错的分布式“发布-订阅”消息系统, 使用 Scala 与 Java 语言编写,能够将消息从一个端点传递到另一个端点。
较之传统的消息中间件(例如 ActiveMQ、RabbitMQ),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管理
-
告警管理/用户权限管理
整体使用还是比较简单的,不做赘述。
推荐学习
请关注,楼主公众号!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
真正无感知的堡垒机----sshfortress
SSHfortress 中文 English 下载文件尽量到github去下载,因为目前官网的带宽很小 社区版完全免费,用户无须注册和授权文件,版本区别。 这个说明是介绍如何安装sshfortress系统,它有一个Web管理界面greatfortress是用java实现的用来可示化的增加账号、资产等功能;后端sshfortress是在openssh的基础上开发的功能,好了往下面看如何安装和配置吧。 目录 产品简介 功能 注意 依赖 安装 演示视频 如何使用 产品简介 sshfortress堡垒机集中了运维身份鉴别、账号管控、系统操作审计等多种功能。基于协议反向代理实现,通过反向代理的方式实现对 SSH 、SCP 及 SFTP 协议的数据流进行全程记录。统一运维入口,统一用户与主机帐号间的权限关系,防止内部数据泄密。 功能 堡垒机具备操作审计、职权管控、安全认证、高效运维等功能。 操作审计 多面记录运维人员的操作行为,作为事件追溯的保障和事故分析的依据。 运维操作记录: 操作失误、恶意操作、越权操作详细记录。 Linux命令审计: 可提取命令符审计。 文件传输审计: 支持远程桌面文件传输...
- 下一篇
Python 3.9 新特性:任意表达式可作为装饰器!
一个月前(2月20日),一则新的 PEP 没有受到任何阻碍就被官方采纳了,这么快的速度,似乎并不多见。 然而,更为高效率的是,仅在半个月内,它的实现就被合入了代码仓。也就是说,我们最快有望在 3 天后(3月23日)发布的 3.9.0 alpha 5 版本中看到它! Python 3.9 的发布计划: 这个 PEP 就是 PEP-614:放宽对装饰器的语法限制。 当前装饰器的语法为: decorator: '@' dotted_name [ '(' [arglist] ')' ] NEWLINE PEP-614 提议将其简化为: decorator: '@' namedexpr_test NEWLINE 我已经把 PEP 全文翻译出来了,Github 地址:http://dwz.date/RV9 放宽对装饰器的限制,这对之前的用法没有影响,但至于会带来哪些新的好处,我还不知道有哪些现实的例子。 下面是 PEP 翻译后的核心内容摘录,先跟大家一睹为快吧: --------------摘录分割线---------------- 概要 Python 当前要求所有装饰器都由 dotted nam...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS关闭SELinux安全模块
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2整合Redis,开启缓存,提高访问速度