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 ...
随机推荐
- python-day31(正式学习)
一.单机架构 应用领域: 植物大战僵尸 office 二.CS架构 应用领域: QQ 大型网络游戏 计算机发展初期用户去取数据,直接就去主机拿,从这里开始就分出了客户端和服务端. 客户端:用户安装的软 ...
- 使用Python基于OpenCV的图像油画特效
算法步骤: 1.获取图像的灰度图片 2.设计一个小方框(4x4/8x8 /10x10等),统计每个小方框的像素值 3.将0-255的灰度值划分成几个等级,并把第二步处理的结果映射到所设置的各个等级中, ...
- 屏幕的遮挡层,js得到屏幕宽高、页面宽高 (window.screen.availHeight)等--
window.screen.availWidth 返回当前屏幕宽度(空白空间) ------当手机有输入法的时候,要注意................window.screen.availHeigh ...
- 数据绑定-Java的基本数据类型绑定
Demo.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...
- git解决pre-commit hook failed的问题
最近在提交前端代码的时候发现提交不上去,一直报错 一.错误详情 二.错误分析 1.刚开始用vsCode提交,后更改为命令提交,依旧报错: 2.经过查询资料,发现是pre-commit钩子的原因. ...
- microsoft office powerpoibt automation 二次开发
背景 首先office的产品powerpoint是支持二次开发的,这里的二次开发并不是指在powerpoint产品中嵌入一些自己的控件,而是一些简单的automation的控制(进入放映状态,上一页, ...
- 免费安装正版Xshell6+Xftp6
先进入链接获取最新的下载地址 下载地址 填写一下姓名+邮箱,勾选需要哪个就行了 它会发给你指定邮箱一个地址,点击即可下载 安装就不用说了...
- BeanUtils组件的使用
BeanUtils能够使我们更方便的进行javabean的赋值操作,它的底层是反射的原理 主要方法有 copyProperties(Object object,String name,String v ...
- 在mysql 上如何在不影响生产的情况下删除一个大表
mysql 中常用的删除的方法基本上有下面三种方式: 1.delete 一般用于删除少量表中的数据 优化建议,一定要加上where 条件,并且where条件的列上 一定要有主键或者索引.否则会出现全表 ...
- centos 7 搭建 LNMP ( Linux+Nginx+MySQL+PHP )
操作系统 | CentOS Linux release 7.6.1810 (Core) [root@localhost ~# cat /etc/redhat-release CentOS Linux ...