【运维监控】Prometheus+grafana+kafka_exporter监控kafka运行情况


文章目录


  • 本示例通过kafka_exporter收集kafka的监控指标,然后将数据收集到prometheus中,最后通过grafana的dashboard导入模板进行可视化。
  • 本示例分为四个部分,即prometheus、grafana部署、kafka_exporter部署与配置和最后的集成。
  • 说明:本示例中的部署环境没有要求,即应用部署的机器根据实际情况而定,只要网络连通即可。

一、prometheus

参考:【运维监控】prometheus+node exporter+grafana 监控linux机器运行情况关于prometheus的部署。

二、grafana

参考:【运维监控】prometheus+node exporter+grafana 监控linux机器运行情况 关于grafana的部署。

三、部署kafka_exporter

通过kafka_exporter 用来收集 Topic、Broker、ConsumerGroup 的相关信息,可以方便对接 prometheus 和 grafana,使用起来比较方便。

相比JMX,kafka_exporter优势在于不需要消耗 JVM资源,指标收集时间从分钟级别降到秒级别,便于大规模集群的监控。

1、下载

下载地址:https://github.com/danielqsj/kafka_exporter/releases

下载版本:kafka_exporter-1.8.0.linux-amd64.tar.gz

2、解压

bash 复制代码
tar -xvf kafka_exporter-1.8.0.linux-amd64.tar.gz
cd kafka_exporter-1.8.0.linux-amd64/

[alanchan@server3 bigdata]$ pwd
/usr/local/bigdata
[alanchan@server3 bigdata]$ ll
total 742444
drwxr-xr-x  9 alanchan root      4096 Dec 30  2022 kafka_2.12-3.0.0
-rw-r--r--  1 alanchan root  10451435 Sep  6 02:49 kafka_exporter-1.8.0.linux-amd64.tar.gz
[alanchan@server3 bigdata]$ tar -xvf kafka_exporter-1.8.0.linux-amd64.tar.gz
kafka_exporter-1.8.0.linux-amd64/
kafka_exporter-1.8.0.linux-amd64/LICENSE
kafka_exporter-1.8.0.linux-amd64/kafka_exporter
[alanchan@server3 bigdata]$ cd kafka_exporter-1.8.0.linux-amd64
[alanchan@server3 kafka_exporter-1.8.0.linux-amd64]$ ll
total 19980
-rwxr-xr-x 1 alanchan root 20446894 Aug 20 07:06 kafka_exporter
-rw-r--r-- 1 alanchan root    11357 Aug 20 07:02 LICENSE

3、配置

1个kafka集群只需要1个kafka_exporter,在集群上的任意1台服务器部署(视情况而定)。

作者的kafka是一个集群环境,部署在server1、server2和server3上,kafka_exporter选择部署在server3上。

kafka_exporter使用默认配置。

4、启动

bash 复制代码
# 收集单个kafka集群的指标
cd /usr/local/bigdata/kafka_exporter-1.8.0.linux-amd64
./kafka_exporter --kafka.server=server1:9092

[alanchan@server3 kafka_exporter-1.8.0.linux-amd64]$ ./kafka_exporter --kafka.server=server1:9092
I0906 06:21:32.330396   28902 kafka_exporter.go:823] Starting kafka_exporter (version=1.8.0, branch=HEAD, revision=477643dd764c46ddd804ac4bd4022be877e3085b)
I0906 06:21:32.334258   28902 kafka_exporter.go:994] Listening on HTTP :9308
I0906 06:21:59.889927   28902 kafka_exporter.go:678] [server1:9092 server3:9092 server2:9092]

# 收集多个kafka集群的指标,以下为示例
kafka_exporter --kafka.server=server1:9092 [--kafka.server=another-server ...]
kafka_exporter --kafka.server=server1:9092 --kafka.server=server2:9092 --kafka.server=server3:9092

5、验证

启动成功后,可以访问 http://server3:9308/metrics

四、prometheus集成grafana监控kafka

1、修改prometheus配置

在prometheus的配置文件(prometheus.yml)中添加如下配置部分。增加kafka_exporter的收集服务配置,示例如下。

bash 复制代码
  - job_name: "kafka-monitor"
    static_configs:
      - targets: ["server3:9308"]

重启prometheus后,并验证是否收集到监控信息。

查看Prometheus是否监控到运行的kafka应用如下图。

在prometheus中查询收集到的指标数据,如下图所示。

2、导入grafana模板

导入过程不再赘述,参考文章:【运维监控】Prometheus+grafana监控tomcat8.5 运行情况

本示例导入的模板ID是7589(kafka-exporter-overview)。

3、验证

以上所涉及的服务均能正常的运行,以及验证都通过。

导入模板完成后,会显示"No Data",只有当kafka中有数据的时候,才会在模板中显示具体的指标数据。图示如下。

以上,完成了Prometheus+grafana监控kafka运行情况的示例。

相关推荐
生活爱好者!41 分钟前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器
groundhappy2 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
做个文艺程序员2 小时前
Linux第24篇:Java应用监控体系搭建:Prometheus+Grafana可视化运维
java·grafana·prometheus
尽兴-2 小时前
企业业务系统架构选型与渐进式演进
运维·系统架构·devops
通信小小昕2 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
壮哥_icon3 小时前
【Android 系统开发】使用 BAT 脚本高效自动化管理 /system/priv-app/ 系统应用(安装与卸载)
android·运维·自动化
RD_daoyi3 小时前
外链权重暴跌至13%,品牌提及反超传统链接——2026年不做Digital PR,你的独立站等于隐形
运维·网络·学习·机器学习·搜索引擎
电商API_180079052474 小时前
企业ERP进销存场景|京东商品详情接口自动同步方案|凭证鉴权批量调用技术实操
大数据·运维·人工智能·爬虫·数据挖掘·网络爬虫
张小姐的猫4 小时前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式
小稻穗4 小时前
市场调研样本选型坐标系:2026六家国内样本平台能力横向校验
大数据·运维·数据分析