引言
上篇文章通过JMX提取Kafka数据,本篇文章将通过JDBC存储Kafka性能数据存储于数据库,并通过Grafana 和 Prometheus进行展示,实现开发中常用的可视化监控
1. 环境准备
-
Kafka:运行中的 Kafka 集群,确保可以通过 JMX 访问其性能指标。
-
Kafka Exporter:用于将 Kafka 的 JMX 指标暴露给 Prometheus。
-
Prometheus:负责收集和存储 Kafka Exporter 提供的性能指标。
-
Grafana:用于从 Prometheus 读取数据并进行可视化展示。
2. 安装和配置 Kafka Exporter
下载和启动
从 Kafka Exporter 的 GitHub 仓库 下载适合你系统的版本,然后启动它,示例命令如下:
./kafka_exporter --kafka.server=localhost:9092
此命令将 Kafka Exporter 连接到本地运行在 9092
端口的 Kafka 集群。Kafka Exporter 默认会在 9308
端口暴露指标供 Prometheus 抓取。
3. 安装和配置 Prometheus
下载和启动
从 Prometheus 官方网站 下载适合你系统的版本,解压后,编辑 prometheus.yml
文件,添加对 Kafka Exporter 的抓取配置:
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'kafka_exporter'
static_configs:
- targets: ['localhost:9308']
保存配置文件后,启动 Prometheus:
./prometheus --config.file=prometheus.yml
4. 安装和配置 Grafana
下载和启动
根据你的操作系统,从 Grafana 官方网站 下载并安装 Grafana。安装完成后,启动 Grafana 服务。
配置数据源
- 打开浏览器,访问
http://localhost:3000
(默认端口),使用默认用户名admin
和密码admin
登录 Grafana。 - 登录后,在左侧导航栏中点击
Configuration
->Data Sources
。 - 点击
Add data source
,选择Prometheus
。 - 在
HTTP
部分的URL
字段中,输入 Prometheus 的访问地址,例如http://localhost:9090
。 - 点击
Save & Test
,确保 Grafana 可以成功连接到 Prometheus。
5. 创建 Grafana 仪表盘
创建新仪表盘
- 在左侧导航栏中点击
Dashboards
->New dashboard
。 - 点击
Add a new panel
。
配置查询
-
在
Metrics
选项卡中,使用 Prometheus 查询语句来获取所需的 Kafka 性能指标。例如:- 消息生产速率:
sum(rate(kafka_producer_record_send_total[5m]))
- 消息消费速率:
sum(rate(kafka_consumer_fetch_manager_records_consumed_total[5m]))
- 分区偏移量:
kafka_log_log_end_offset
- 消息生产速率:
-
你可以根据需要调整查询的时间范围和聚合方式。
配置可视化
- 在
Visualization
选项卡中,选择合适的可视化类型,如Graph
(折线图)、Bar chart
(柱状图)等。 - 根据需要调整图表的颜色、线条样式、坐标轴等参数。
保存仪表盘
配置完成后,点击 Apply
保存面板,然后点击仪表盘右上角的 Save dashboard
保存整个仪表盘。