Prometheus监控Kafka(三种方法JMX/Kafka_exporter/KMINION监控Kafka)

背景

一句话说明需求:

  • 公司需要监控kafka消息队列的消费情况,强调需查看当前Topic中的message的数量。

一句话说明解决:

  • 像Kafka这样的Java进程可以先通过JMX Agent或者第三方Agent(kafka_exporter\KMINION等)获取监控数据,再通过Prometheus采集数据、通过Grafana模板展示数据即可。另外具体的message数量需要通过PromQL语句查询得到。

多说几句:

  • kafka应用的具体指标和JVM虚拟机的指标都可以通过JMX监控得到。
  • Zabbix也可以监控kafka,也是通过JMX实现。
  • Prometheus对自定义监控项更友好,相关的Grafana模板更多。
  • 建议同时使用JMX和kminion,同时使用两者的Grafana模板(具体性能损耗的评估稍后有时间我再详细说明,有时间折腾也可以只装一个)

监控效果截图

参考链接

【Grafana模板库:搜索Kafka】
【阿里云官方文档:如何部署和配置Kafka JMX Agent】

实际操作

使用JMX监控

  1. 下载jmx程序包。
  2. 修改kafka启动参数
  3. 重启kafka
  4. 重启prometheus
  5. 导入grafana模板。

使用kafka_exporter监控

  1. 下载kafka_exporter程序包。
  2. 修改kafka_exporter配置文件。
  3. 启动kafka_exporter。
  4. 重启prometheus。
  5. 导入grafana模板。

使用Kminion监控

  1. 下载Kminion程序包。
  2. 修改kminion配置文件。
  3. 创建kminion配置文件的环境变量。
  4. 启动kminion。
  5. 重启prometheus。
  6. 导入grafana模板。

注意:

  1. 防火墙策略。
  2. 端口占用情况。

相关截图

结束

相关推荐
云攀登者-望正茂4 小时前
Kafka 架构设计和组件介绍
分布式·kafka
露卡_4 小时前
Kafka和其他组件的整合
分布式·kafka·linq
goTsHgo4 小时前
Kafka 保证多分区的全局顺序性的设计方案和具体实现
分布式·kafka
欧先生^_^4 小时前
学习 Apache Kafka
学习·kafka·apache
不要天天开心8 小时前
Kafka与Spark-Streaming:大数据处理的黄金搭档
kafka·scala
煤烦恼14 小时前
kafka整合flume与DStream转换
分布式·kafka
快乐点吧14 小时前
启动命令汇总(Redis / Kafka / Flume / Spark)
redis·kafka·flume
南客先生1 天前
互联网大厂Java面试:RocketMQ、RabbitMQ与Kafka的深度解析
java·面试·kafka·rabbitmq·rocketmq·消息中间件
知其_所以然1 天前
如何使用@KafkaListener实现从nacos中动态获取监听的topic
kafka
淋一遍下雨天1 天前
Spark-Streaming核心编程
大数据·kafka