kafka监控指标项
监控配置
kafka基本分为broker、producer、consumer三个子项,每一项的启动都需要用到 $KAFKA_HOME/bin/kafka-run-class.sh 脚本,在该脚本中,存在以下语句:
if ...
KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
fi
if ...
KAFKA_JMX_OPTS="$KAFKA_JMX_OPTS -Dcom.sun.management.jmxremote.port=$JMX_PORT "
fi
在启动kafka的过程中,只要指定 JMX_PORT 的值,即可对broker、producer、consumer进行监控。目前有两种方法,
- 在 $KAFKA_HOME/bin/kafka-server-start.sh、 $KAFKA_HOME/bin/kafka-console-consumer.sh、 $KAFKA_HOME/bin/kafka-console-producer.sh 三个脚本中分别添加 $JMX_PORT=XXXX 语句,但是只适用于使用console方式对topic进行使用的情况。
- 修改$KAFKA_HOME/bin/kafka-run-class.sh 脚本中的上述语句,使其端口随机变化,可以通过 ps -ef |grep kafka 命令来获取随机的端口号,来进行监控
指标项来源
以下端口均随机获得。
| 主机名 | 类别 | 端口号 |
|---|---|---|
| 192.168.20.10 | broker | 9183 |
| 192.168.20.10 | producer | 9108 |
| 192.168.20.10 | consumer | 9173 |
kafka监控项
OS监控项
| objectName | 指标项 | 说明 |
|---|---|---|
| java.lang:type=OperatingSystem | FreePhysicalMemorySize | 空闲物理内存 |
| java.lang:type=OperatingSystem | SystemCpuLoad | 系统CPU利用率 |
| java.lang:type=OperatingSystem | ProcessCpuLoad | 进程CPU利用率 |
| java.lang:type=GarbageCollector, name=G1 Young Generation |
CollectionCount | GC次数 |
broker指标
| objectName | 指标项 | 说明 |
|---|---|---|
| kafka.server:type=BrokerTopicMetrics, name=BytesInPerSec |
Count | 每秒输入的流量 |
| kafka.server:type=BrokerTopicMetrics, name=BytesOutPerSec |
Count | 每秒输出的流量 |
| kafka.server:type=BrokerTopicMetrics, name=BytesRejectedPerSec |
Count | 每秒扔掉的流量 |
| kafka.server:type=BrokerTopicMetrics, name=MessagesInPerSec |
Count | 每秒的消息写入总量 |
| kafka.server:type=BrokerTopicMetrics, name=FailedFetchRequestsPerSec |
Count | 当前机器每秒fetch请求失败的数量 |
| kafka.server:type=BrokerTopicMetrics, name=FailedProduceRequestsPerSec |
Count | 当前机器每秒produce请求失败的数量 |
| kafka.server:type=ReplicaManager, name=PartitionCount |
Value | 该broker上的partition的数量 |
| kafka.server:type=ReplicaManager, name=LeaderCount |
Value | Leader的replica的数量 |
| kafka.network:type=RequestMetrics, name=TotalTimeMs,request=FetchConsumer |
Count | 一个请求FetchConsumer耗费的所有时间 |
| kafka.network:type=RequestMetrics, name=TotalTimeMs,request=FetchFollower |
Count | 一个请求FetchFollower耗费的所有时间 |
| kafka.network:type=RequestMetrics, name=TotalTimeMs,request=Produce |
Count | 一个请求Produce耗费的所有时间 |
producer以及topic指标
| objectName | 指标项 | 官网说明 | 译文说明 |
|---|---|---|---|
| kafka.producer:type=producer-metrics,client-id=console-producer(client-id会变化) | incoming-byte-rate | The average number of incoming bytes received per second from all servers. | producer每秒的平均写入流量 |
| kafka.producer:type=producer-metrics,client-id=console-producer(client-id会变化) | outgoing-byte-rate | The average number of outgoing bytes sent per second to all servers. | producer每秒的输出流量 |
| kafka.producer:type=producer-metrics,client-id=console-producer(client-id会变化) | request-rate | The average number of requests sent per second to the broker. | producer每秒发给broker的平均request次数 |
| kafka.producer:type=producer-metrics,client-id=console-producer(client-id会变化) | response-rate | The average number of responses received per second from the broker. | producer每秒发给broker的平均response次数 |
| kafka.producer:type=producer-metrics,client-id=console-producer(client-id会变化) | request-latency-avg | The average time taken for a fetch request. | 一个fetch请求的平均时间 |
| kafka.producer:type=producer-topic-metrics,client-id=console-producer,topic=testjmx(client-id和topic名称会变化) | record-send-rate | The average number of records sent per second for a topic. | 每秒从topic发送的平均记录数 |
| kafka.producer:type=producer-topic-metrics,client-id=console-producer,topic=testjmx(client-id和topic名称会变化) | record-retry-total | The total number of retried record sends | 重试发送的消息总数量 |
| kafka.producer:type=producer-topic-metrics,client-id=console-producer,topic=testjmx(client-id和topic名称会变化) | record-error-total | The total number of record sends that resulted in errors | 发送错误的消息总数量 |
consumer指标
| objectName | 指标项 | 官网说明 | 说明 |
|---|---|---|---|
| kafka.consumer:type=consumer-fetch-manager-metrics,client-id=consumer-1(client-id会变化) | records-lag-max | Number of messages the consumer lags behind the producer by. Published by the consumer, not broker. | 由consumer提交的消息消费lag |
| kafka.consumer:type=consumer-fetch-manager-metrics,client-id=consumer-1(client-id会变化) | records-consumed-rate | The average number of records consumed per second | 每秒平均消费的消息数量 |
kafka监控指标项的更多相关文章
- Flume监控指标项
配置监控 1.修改flume-env.sh export JAVA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmx ...
- hbase 监控指标项
名词解释 JMX:Java Management Extensions,用于用于Java程序扩展监控和管理项 GC:Garbage Collection,垃圾收集,垃圾回收机制 指标项来源 主机名 u ...
- Hbase监控指标项
名词解释 JMX:Java Management Extensions,用于用于Java程序扩展监控和管理项 GC:Garbage Collection,垃圾收集,垃圾回收机制 指标项来源 主机名 u ...
- Hadoop监控指标项
配置 修改$HADOOP_HOME/etc/hadoop/hadoop-env.sh # 在配置namenode和datanode时都会有用到JMX_OPTS的代码,是为了减少重复提取出的公共代码 e ...
- 【转载】apache kafka系列之-监控指标
原文地址:http://blog.csdn.net/lizhitao/article/details/24581907 1.监控目标 1.当系统可能或处于亚健康状态时及时提醒,预防故障发生 2.报警提 ...
- apache kafka系列之-监控指标
apache kafka中国社区QQ群:162272557 1.监控目标 1.当系统可能或处于亚健康状态时及时提醒,预防故障发生 2.报警提示 a.短信方式 b.邮件 2.监控内容 2.1 机器监控 ...
- 关于kafka生产者相关监控指标的理解(未解决)
关于生产者相关的监控指标含义的理解,希望大神帮忙进行确定下. 这边找了官网,看了网上各样的资料,但都无法帮我理解监控项目相关含义. 相关的监控项目是从jconsole获取的,并接入到了 ...
- Spark指标项监控
监控配置 spark的监控主要分为Master.Worker.driver.executor监控.Master和Worker的监控在spark集群运行时即可监控,Driver和Excutor的监控需要 ...
- 【转】apache kafka监控系列-KafkaOffsetMonitor
apache kafka监控系列-KafkaOffsetMonitor 时间 2014-05-27 18:15:01 CSDN博客 原文 http://blog.csdn.net/lizhitao ...
随机推荐
- 分布式---CAP和BASE理论
3.CAP 分布式系统不可能同时满足一致性(C:Consistence),可用性(A:Avaliability)和分区容忍性(P:Partition Tolerance),最多只能同时满足其中的两 ...
- 异常-面试题之final,finally和finalize的区别,如果在finally之前有return
package cn.itcast_07; /* * 面试题: * 1:final,finally和finalize的区别 * final:最终的意思,可以修饰类,成员变量,成员方法 * 修饰类,类不 ...
- window10提交代码到码云
1.创建项目文件夹,例如创建一个"爬虫项目码云仓库" 2.进入项目文件夹,在地址栏输入cmd然后回车,这样就在该文件夹打开了终端 3.终端输入git init初始化项目仓库,此时会 ...
- 15 Scrapy框架之CrawlSpider
一.简介 CrawlSpider其实是Spider的一个子类,除了继承到Spider的特性和功能外,还派生除了其自己独有的更加强大的特性和功能.其中最显著的功能就是”LinkExtractors链接提 ...
- flat 的用法
今天在项目中,看到了flat的一个语法,是我之前没有用过的,所以有必要记录下来,作为新的知识点,巩固我自己的知识点: 附赠转载连接:https://developer.mozilla.org/zh-C ...
- java复制文件范例代码
String url1 = "F:\\SuperMap-Projects\\region.udb";// 源文件路径 try { for(int i=1;i<101;i++) ...
- python之SSH远程登录
一.SSH简介 SSH(Secure Shell)属于在传输层上运行的用户层协议,相对于Telnet来说具有更高的安全性. 二.SSH远程连接 SSH远程连接有两种方式,一种是通过用户名和密码直接登录 ...
- linux上如何安装postgresql
安装对应的postgresql的yum源 rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7-x86_64 ...
- Chrome安装Axure插件axure-chrome-extension
用Chrome打开Axure发布的原型图打不开,提示需要安装axure-chrome-extension插件,如下图提示 下面记录一下安装过程,其实很简单,插件没必要从网上到处找,在你发布的路径下就有 ...
- RPM包搭建
打包rpm软件包之spec文件解析 1. 概述 RPM的全称是(Red Hat Package Manager,Red Hat包管理器).RPM是一个开放的软件包管理器,工作在Red Hat.类Lin ...