【运维监控】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运行情况的示例。

相关推荐
chenbin52022 分钟前
Jenkins 自动构建Job
运维·jenkins
java 凯24 分钟前
Jenkins插件管理切换国内源地址
运维·jenkins
AI服务老曹27 分钟前
运用先进的智能算法和优化模型,进行科学合理调度的智慧园区开源了
运维·人工智能·安全·开源·音视频
风静如云1 小时前
OpenBMC:BmcWeb定义service
linux
sszdzq2 小时前
Docker
运维·docker·容器
book01212 小时前
MySql数据库运维学习笔记
运维·数据库·mysql
leoufung2 小时前
VIM FZF 安裝和使用
linux·编辑器·vim
bugtraq20213 小时前
XiaoMi Mi5(gemini) 刷入Ubuntu Touch 16.04——安卓手机刷入Linux
linux·运维·ubuntu
xmweisi3 小时前
【华为】报文统计的技术NetStream
运维·服务器·网络·华为认证
VVVVWeiYee3 小时前
BGP配置华为——路径优选验证
运维·网络·华为·信息与通信