You need to enable JavaScript to run this app.
文档中心
托管 Prometheus

托管 Prometheus

复制全文
下载 pdf
接入指南
Kafka 接入
复制全文
下载 pdf
Kafka 接入
托管 Prometheus 支持监控部署在容器服务(VKE)、云服务器(ECS)中的 Kafka 实例或消息队列 Kafka 版云产品。本文为您介绍如何监控部署在不同环境中的 Kafka 实例。
背景信息
Apache Kafka 是一款高吞吐、分布式的流处理平台,主要用于构建实时数据管道和流处理应用。其核心是基于发布 - 订阅模式的消息队列,支持海量数据持久化与水平扩展,常用于日志收集、事件溯源等场景。
您可以使用托管 Prometheus 对部署在在容器服务(VKE)、云服务器(ECS)中的 Kafka 实例或 消息队列 Kafka 版 云产品实例进行监控,实现关键指标的预警与优化。
说明
当您需要监控火山引擎消息队列 Kafka 版云产品时,推荐使用接入中心的 云监控接入,支持一键采集云产品指标。
前提条件
  • 托管 Prometheus
  • 已创建托管 Prometheus 工作区,详情请参见 创建工作区
  • 云服务器
  • 已注册并开通火山引擎云服务器。
  • 已在 ECS 实例中部署 kafka 应用。
  • 容器服务
  • 已注册并开通火山引擎容器服务。
  • 已在集群中部署 Kafka 应用。
  • 已在集群中开启云原生观测功能,并安装 prometheus-agent 组件,详情请参见 开启观测
  • 消息队列 Kafka 版
  • 已注册并开通火山引擎消息队列 Kafka 版。
  • 已创建消息队列 Kafka 版实例,详情请参见 创建实例
  • 已获取消息队列 Kafka 版实例的接入点地址,详情请参见 查看接入点
说明
托管 Prometheus 工作区和监控目标(ECS 实例、VKE 集群、消息队列 Kafka 版实例)必须处于相同地域。
接入方式
方式一:接入中心(推荐)
  1. 登录 VMP 服务控制台
  1. 在顶部导航栏,选择目标地域。
  1. 在左侧导航栏中选择 接入中心 > 组件,单击 Kafka,配置接入任务。
  1. 配置采集器的部署环境。
  • 当监控目标部署在 ECS 时,选择 托管环境
  • 当监控目标为消息队列 Kafka 版实例或部署在容器服务集群中的自建 Kafka 实例时,选择 VKE 环境
  1. 单击 创建集成任务,配置集成任务的详情。
  • 基础信息
  • 配置项
    说明
    任务名称
    配置集成任务的名称。支持中文、英文大小写、数字和下划线_,取值范围为 1~40 个字符。
    工作区
    选择已创建的托管 Prometheus 工作区。
  • 采集配置
  • 配置项
    说明
    JobLabel
    配置采集 Job 的 Label,如未填写,则默认使用该集成任务的 ID 作为指标。
    指标采集间隔
    配置采集器的采集间隔。
    ECS VPC
    部署环境托管环境 时需配置,选择云服务器实例所在的 VPC。
    子网
    部署环境托管环境 时需配置,选择 VPC 内的子网。
    服务地址
    配置 Kafka 实例服务端(Broker)地址,不同环境中的地址不同:
    • 当监控目标部署在 ECS 时,服务地址为 ECS IP + 端口号形式,例如192.168.1.10:9092
    • 当监控目标为消息队列 Kafka 实例时,服务地址为实例的接入点域名或接入点 IP 地址,例如192.168.1.10:9092。详情请参见 查看接入点
    版本
    配置 Kafka 实例的版本,例如3.9.1
    Topic 正则过滤
    使用正则表达式对 Kafka 实例中的 Topic 进行过滤,采集器只采集符合过滤规则的 Topic。
    Group 正则过滤
    使用正则表达式对 Kafka 实例中的 Group 进行过滤,采集器只采集符合过滤规则的 Group。
    开启 SASL
    是否启用 SASL 鉴权,启用后,需要配置鉴权信息:
    • SASL 用户名:配置 SASL 鉴权的用户名。
    • SASL 密码:配置 SASL 鉴权的密码。
    • SASL 方法:配置 SASL 鉴权的方法,包括 PLAINSCREAM-SHA256SCREAM-SHA512
  1. 单击 确认,完成配置。
方式二:自定义部署
您也可以在 VKE 集群中自定义部署 kafka-exporter,实现对 Kafka 实例的监控。
步骤一:部署 kafka-exporter
  1. 在左侧菜单栏中选择 集群,并在右侧集群列表中选择目标集群。
  1. 单击集群名称,进入集群配置页面。
  1. 在左侧菜单栏中选择 工作负载 > 无状态负载。 单击 使用 Yaml 创建 ,部署 Kafka-exporter。
apiVersion: apps/v1
kind: Deployment
metadata:
name: kafka-exporter # 配置 exporter 的名称
namespace: volcano-metrics # 配置 exporter 的命名空间
labels:
app-name: kafka-exporter # 配置 exporter 的标签
spec:
replicas: 1 # 配置 exporter 副本数
selector:
matchLabels:
app-name: kafka-exporter # 根据业务需要调整成对应的名称,建议加上 Kafka 实例的信息
template:
metadata:
labels:
app-name: kafka-exporter # 根据业务需要调整成对应的名称,建议加上 Kafka 实例的信息
spec:
containers:
- args:
- --kafka.server=x.x.x.x:9092 # 配置 Kafka 实例的地址和端口号
image: danielqsj/kafka-exporter:latest # 拉取 Docker Hub 中的 exporter 镜像
imagePullPolicy: IfNotPresent
name: kafka-exporter # 配置容器名称
ports:
- containerPort: 9308 # 配置容器端口号
name: metric-port # 配置容器端口名称
dnsPolicy: ClusterFirst
restartPolicy: Always
terminationGracePeriodSeconds: 30
说明
kafka-exporter 的详细参数,请参见 kafka-exporter
步骤二:配置服务发现
  1. 在左侧菜单栏中选择 工作负载 > 对象浏览器
  1. 单击 使用 Yaml 创建 ,通过 PodMonitor 配置服务发现。
  • 类型 下拉菜单中选择 自定义
  • Yaml 配置框内输入 Yaml 配置。
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: kafka-exporter # 配置 PodMonitor 的名称
namespace: volcano-metrics # 配置 PodMonitor 的命名空间
labels:
volcengine.vmp: "true" # 配置 PodMonitor 的标签,允许被 Prometheus-agent 发现
spec:
podMetricsEndpoints:
- interval: 30s
port: metric-port # 填写 exporter 的容器端口名称
path: /metrics # 填写指标暴露的 URI 路径,不填默认为 /metrics
relabelings: # 配置指标的 relabel。如没有该需求,可省略。
- action: replace
sourceLabels:
- instance
regex: (.*)
targetLabel: instance
replacement: 'kafka-xxxxxx' # 配置为 Kafka 实例的 ID 值
namespaceSelector:
matchNames:
- volcano-metrics # 配置为 exporter 所在的命名空间
selector:
matchLabels:
app-name: kafka-exporter # 配置 exporter 的 Label 值,以定位和选择目标 Pod
结果验证
查看接入任务
配置完成后,您可以查看任务状态和任务详情。确定目标 Kafka 接入任务是否正常。
  1. 在左侧导航栏中选择 接入中心 > 接入任务
  1. 选择 托管环境 VKE 环境 页签在任务列表中,可以查看接入任务的状态。
接入任务创建完成后,支持以下运维操作:
  • 单击 任务名称,进入任务详情页面,支持查看接入任务详情。
  • 单击 操作 列的 编辑,支持编辑指定的接入任务。
  • 单击 操作 列的 暂停任务,支持暂停指定的接入任务。
  • 单击 操作 列的 删除,支持删除指定的接入任务。
查询任务指标
在左侧导航栏中选择 Explore,可以使用up查看接入任务中采集 Job 的状态。本例中为up{job="kafka_job"}。当该指标的值为 1 时,表示采集器已创建完成并工作正常。
说明
当 Kafka 部署在 VKE 集群中时,采集任务的名称为kafka-exporter-***,可以使用up{job="kafka-exporter-***"}查看采集 Job 状态。
监控信息
查询指标
您可以使用托管 Prometheus 的 Explore 功能来快速查询和展示指标数据。详情请参见 指标查询
说明
Kafka 的常见指标,请参见 官方文档
搭建大盘
您可以在容器服务集群或 ECS 主机中自建 Grafana,并通过 Grafana 查看指标和创建大盘。
配置告警
您可以在托管 Prometheus 的告警中心配置 Kafka 实例的相关告警。详情请参见 创建告警规则
最近更新时间:2025.09.03 15:13:02
这个页面对您有帮助吗?
有用
有用
无用
无用