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. 端口占用情况。

相关截图

结束

相关推荐
极客先躯2 小时前
高级java每日一道面试题-2026年03月30日-实战篇[Docker]-如何监控容器的网络流量?
java·运维·docker·容器·prometheus·高级面试
time展天15 小时前
abbix、Prometheus、Grafana、Nightingale,四个监控如何选型?
grafana·prometheus
whaledown1 天前
互联网大厂Java求职面试三轮提问详解(涵盖Spring Boot、微服务、Kafka等核心技术)
java·jvm·数据库·spring boot·微服务·面试·kafka
梦想的颜色2 天前
【Docker部署插件】:使用 Docker 部署生产级 Kafka 完整版教程
安全·docker·中间件·kafka·消息队列·docker-compose·后端开发
考虑考虑2 天前
kafka4安装
后端·kafka·自动化运维
EterNity_TiMe_2 天前
别让告警变成噪音:用Prometheus和Alertmanager搭一套可远程查看的监控系统
数据库·人工智能·ai·postgresql·prometheus·cpolar
Elastic 中国社区官方博客2 天前
使用 Elasticsearch 作为 Grafana 的直接替代 Prometheus 后端
大数据·数据库·sql·elasticsearch·搜索引擎·grafana·prometheus
lzhcoder3 天前
Spring Boot 集成 Kafka:先跑通 Demo,再避开那 80% 的人踩过的坑
java·kafka
spider_xcxc3 天前
Prometheus + Grafana流程搭建总结
grafana·prometheus·云计算运维
c_zyer3 天前
一站式可观测新选择:OpenObserve 深度对标 ELK / Grafana+Prometheus / Netdata,附Docker一键部署实战
elk·grafana·prometheus·netdata·openobserve