参考文档:https://kafka.apache.org/documentation.html#monitoring
Kafka使用Yammer Metrics来报告server和client的众多metric。还可以使用其他的插件来跟你的监控系统连接起来,比如https://cwiki.apache.org/confluence/display/KAFKA/JMX+Reporters中提到的ganglia和Graphite等。默认使用的是JMX,最简单的观察方式是使用jconsole连接你的server或者client,就可以看到所有可用的metric。我自己是使用Zabbix跟JMX对接,监测一些metric,并进行报警,以下metric是值得关注的:
描述:所有的topic的消息速率(消息数/秒)
Mbean名:"kafka.server":name="AllTopicsMessagesInPerSec",type="BrokerTopicMetrics"
正常的值:
描述:所有的topic的流入数据速率(字节/秒)
Mbean名:"kafka.server":name="AllTopicsBytesInPerSec",type="BrokerTopicMetrics"
正常的值:
描述:producer或Fetch-consumer或Fetch-follower的请求速率(请求次数/秒)
Mbean名:"kafka.network":name="{Produce|Fetch-consumer|Fetch-follower}-RequestsPerSec",type="RequestMetrics"
正常的值:
描述:所有的topic的流出数据速率(字节/秒)
Mbean名: "kafka.server":name="AllTopicsBytesOutPerSec",type="BrokerTopicMetrics"
正常的值:
描述:刷日志的速率和耗时
Mbean名: "kafka.log":name="LogFlushRateAndTimeMs",type="LogFlushStats"
正常的值:
描述:正在做复制的partition的数量(|ISR| < |all replicas|)
Mbean名:"kafka.server":name="UnderReplicatedPartitions",type="ReplicaManager"
正常的值:0
描述:当前的broker是否为controller
Mbean名:"kafka.controller":name="ActiveControllerCount",type="KafkaController"
正常的值:在集群中只有一个broker的这个值为1
描述:选举leader的速率
Mbean名:"kafka.controller":name="LeaderElectionRateAndTimeMs",type="ControllerStats"
正常的值:如果有broker挂了,此值非0
描述:Unclean的leader选举速率
Mbean名:"kafka.controller":name="UncleanLeaderElectionsPerSec",type="ControllerStats"
正常的值:0
描述:该broker上的partition的数量
Mbean名: "kafka.server":name="PartitionCount",type="ReplicaManager"
正常的值:应在各个broker中平均分布
描述:Leader的replica的数量
Mbean名: "kafka.server":name="LeaderCount",type="ReplicaManager"
正常的值:应在各个broker中平均分布
描述:ISR的收缩(shrink)速率
Mbean名:"kafka.server":name="ISRShrinksPerSec",type="ReplicaManager"
正常的值:如果一个broker挂掉了,一些partition的ISR会收缩。当那个broker重新起来时,一旦它的replica完全跟上,ISR会扩大(expand)。除此之外,正常情况下,此值和下面的扩大速率都是0。
描述:ISR的扩大(expansion)速率
Mbean名: "kafka.server":name="ISRExpandsPerSec",type="ReplicaManager"
正常的值:参见ISR的收缩(shrink)速率
描述:follower落后leader replica的最大的消息数量
Mbean名:"kafka.server":name="([-.\w]+)-MaxLag",type="ReplicaFetcherManager"
正常的值:小于replica.lag.max.messages
描述:每个follower replica落后的消息速率
Mbean名:"kafka.server":name="([-.\w]+)-ConsumerLag",type="FetcherLagMetrics"
正常的值:小于replica.lag.max.messages
描述:等待producer purgatory的请求数
Mbean名:"kafka.server":name="PurgatorySize",type="ProducerRequestPurgatory"
正常的值:如果ack=-1,应为非0值
描述:等待fetch purgatory的请求数
Mbean名:"kafka.server":name="PurgatorySize",type="FetchRequestPurgatory"
正常的值:依赖于consumer的fetch.wait.max.ms的设置
描述:一个请求(producer,Fetch-Consumer,Fetch-Follower)耗费的所有时间
Mbean名:"kafka.network":name="{Produce|Fetch-Consumer|Fetch-Follower}-TotalTimeMs",type="RequestMetrics"
正常的值:包括了queue, local, remote和response send time
描述:请求(producer,Fetch-Consumer,Fetch-Follower)在请求队列中的等待时间
Mbean名:"kafka.network":name="{Produce|Fetch-Consumer|Fetch-Follower}-QueueTimeMs",type="RequestMetrics"
正常的值:
描述:请求(producer,Fetch-Consumer,Fetch-Follower)在leader处理请求花的时间
Mbean名:"kafka.network":name="{Produce|Fetch-Consumer|Fetch-Follower}-LocalTimeMs",type="RequestMetrics"
正常的值:
描述:请求(producer,Fetch-Consumer,Fetch-Follower)等待follower花费的时间
Mbean名:"kafka.network":name="{Produce|Fetch-Consumer|Fetch-Follower}-RemoteTimeMs",type="RequestMetrics"
正常的值:producer的ack=-1时,非0才正常
描述:发送响应花费的时间
Mbean名:"kafka.network":name="{Produce|Fetch-Consumer|Fetch-Follower}-ResponseSendTimeMs",type="RequestMetrics"
正常的值:
描述:consumer落后producer的消息数量
Mbean名:"kafka.consumer":name="([-.\w]+)-MaxLag",type="ConsumerFetcherManager"
正常的值:
建议对GC耗时和其他参数和诸如系统CPU,I/O时间等等进行监控。在client端,建议对"消息数量/字节数"的速率(全局的和对于每一个topic),请求的"速率/大小/耗时"进行监控。还有consumer端,所有partition的最大的落后情况和最小的fetch请求的速率。consumer为了能跟上,最大落后数量需要少于一个threshold并且最小fetch速率需要大于0.
相关推荐
kafka web页面的监控工具包,适合学习大数据或者kafka的人群使用
1.kafka的基础知识(安装、部署、基础概念,版本) 2.kafka的特性 3. kafka客户端 4.kafka中的zookeeper 5. kafka如何不丢消息 6.kafka多线程消费 7.kafka重组平衡 ...11. 代码见《kafka学习代码》
kafka是最初由Linkedin公司开发,使用Scala语言编写,Kafka是一个分布式、分区的、多副本的、多订阅者的日志系统(分布 式MQ系统),可以用于web/nginx日志,搜索日志,监控日志,访问日志等等。 Kafka是一种分布式的...
1. Kafka可视化监控与告警系统,项目基于一些开源kafka监控软件做的二次开发。 2. 此平台可以介入多个不同版本的kafka集群进行监控 #### 项目背景 - 在实时数据处理中,经常遇到数据延迟问题,对kafka数据堆积量的...
kafka安装和监控头平台
第 5 章 Kafka 监控 5.1 Kafka Eagle 修改 kafka 启动命令 修改 kafka-server-start.sh 命令中 if [ x$KAFKA_HEAP_OPTS = x ]; then export KAFKA_HEAP_OPTS=-Xmx1G -Xms1G fi 为 if [ x$KAFKA_HEAP_OPTS = x ]; ...
# kafka-logsize-exporter ## Installation download, uncompress ## Getting Started ```bash pip install -r requirement.txt vim cluster.conf ``` ``` # cluster name alias [kafka1003] # zookeeper zk =...
适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究...
Kafka技术实战学习的优选课程,课程内容全程实战,没有拖泥带水,但不包含基础知识的教学,需要同学们先具备一定的Kafka技术基础再进行学习。课程内容包括了Kafka java Consumer实战,Kafka集成框架,Kafka分布式...
本课程详细讲解原理,以及集群搭建,使用Python/Java操作Kafka、并采用Prometheus监控Kafka,结合Grafana绘制出Kafka的监控大盘。 之前有报名过 《ELK/ELFK企业PB级日志系统实战》的同学建议学习本门课程 温馨提示...
kafka-logsize-exporter 安装 下载,解压缩 入门 pip install -r requirement.txt vim cluster.conf # cluster name alias [kafka1003] # zookeeper zk = 127.0.0.1:2128/kafka1003 # kafka broker list brokers = ...
Prometheus监控kafka的组件,kafka_exporter,适用于linux系统,用于个人学习
Apache Kafka实战 高清PDF(带完整的目录标签。 style Apache Kafka实战 高清PDF...包括Kafka基本概念与特性以及部署、开发、运营、监控、调试、优化以及重要组件的设计原理,并给出了翔实的案例。 Kafka 1.0 胡夕。
第十章 监控工具Kafka-eagle介绍 10.1 Kafka-Eagle简介 10.2 安装Kafka-Eagle 10.3 Kafka度量指标 第十一章 Kafka原理 11.1 分区的leader与follower 11.2 Kafka生产、消费数据工作流程 11.3 Kafka的数据存储形式 ...
在本课程中,你将学习到,Kafka架构原理、安装配置使用、详细的Kafka写入数据和处理数据以及写出数据的流程、新旧版本对比及运用、分区副本机制的详解、内部存储策略、高阶API直接消费数据、低阶API自行管理Offset...
2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。...
基于 Springboot + Redis + Kafka 的秒杀系统,乐观锁 + 缓存 + 限流 + 异步,TPS 从 500 优化到 3000.zip 当然可以,以下是一份关于您的Java SpringBoot项目的简介描述: 探索Java的SpringBoot魔法 亲爱的开发者...
项目介绍: 利用企业建设的WIFI基站,实时采集用户的信息,可以基于这些信息做用户画像处理,网络安全监控,精准营销等; 项目架构: 主要是基于Flume+Kafka+Sparkstreaming +HBase+ES来实现实时的用户信息存储轨迹...
2. 学习大数据技术栈:包括Hadoop、Spark、Flink、Hive、HBase、Kafka等。 3. 学习大数据平台的架构和设计:包括分布式存储、计算模型、数据管理、数据处理等。 4. 学习大数据平台的安装和配置:包括操作系统的...
spring boot 实践学习案例,与其它组件结合如 mybatis、jpa、dubbo、redis、mongodb、memcached、kafka、rabbitmq、activemq、elasticsearch、security、shiro等 #### Spring Boot 版本 - 2.0.3.RELEASE #### 模块...