操作场景
如您需要将 CKafka 监控指标自有运维平台进行集成和对接,CKafka 提供两种接入 Prometheus 监控的方式:
1. 腾讯云可观测平台集成方式
2. 基于开源标准 Prometheus Exporter 接入
针对专业版用户,消息队列 CKafka 提供了基于开源标准 Prometheus Exporter 的接入方式,具体说明如下:
实例级指标:专业版实例默认为所有用户提供了外部监控服务的接入方式,通过提供的接入点可完成 CKafka 实例的监控,包括但不限于 未同步副本、Topic 读写速率、请求响应耗时 等一系列开源 Kafka 可监控的度量指标。
节点级指标:专业版实例提供 Prometheus Exporter 抓取的节点指标信息,包括但不限于 CPU、内存使用情况、系统负载等基本监控度量指标,以及 broker JMX 暴露出的度量指标,相关指标均可通过 Prometheus 数据采集后进行聚合、展示及分析。
本文介绍消息队列 CKafka 版基于开源标准 Prometheus Exporter 接入 Prometheus 监控的操作步骤。
操作步骤
步骤1:获取 Prometheus 监控目标
1. 登录 CKafka 控制台。
2. 在左侧导航栏选择实例列表,单击目标实例的“ID”,进入实例基本信息页面。
3. 在使用 Prometheus 监控模块单击右上角的获取监控目标,选择 VPC 和子网。
4. 单击提交,获取一组监控目标。

5. 在用 Prometheus 监控实例单击右上角的重新获取,将删除已有网络下的监控地址。

6. 单击确认,可重新获取监控目标。

注意:
如实例执行了迁移变配或更换可用区的操作,则会导致因底层 broker 发生迁移获取不到 Prometheus 监控数据,此时需要通过控制台点击重新获取,来获取最新的 Exporter ip 及 port。
步骤2:用 Prometheus 采集监控数据
1. 下载 Prometheus,并配置监控抓取地址。
2. 进入 Prometheus 程序包所在目录,执行如下命令,解压 Prometheus 程序包。
tar -vxf prometheus-2.30.3.linux-amd64.tar.gz
3. 修改配置文件
prometheus.yml
,增加 jmx_exporter
与 node_exporter
抓取任务。scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: "prometheus"# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ["localhost:9090"]- job_name: "broker-jmx-exporter"scrape_interval: 5smetrics_path: '/metrics'static_configs:- targets: ['10.x.x.0:60001','10.x.x.0:60003','10.x.x.0:60005']labels:application: 'broker-jmx'- job_name: "broker-node-exporter"scrape_interval: 10smetrics_path: '/metrics'static_configs:- targets: ['10.x.x.0:60002','10.x.x.0:60004','10.x.x.0:60006']labels:application: 'broker-node'
broker-jmx-exporter
是 Prometheus 抓取 Broker 的 JMX 指标配置的标签项,Targets 其中包含映射的端口信息,broker-node-exporter
为抓取 Broker 所在节点的基本指标配置的标签项, scrape_interval
为抓取监控度量数据的频率。4. 启动 Prometheus。
./prometheus --config.file=prometheus.yml --web.enable-lifecycle
5. 打开 Prometheus 提供的 UI 界面查看接入的 Targets 状态是否正常,如在浏览器输入
http://localhost:9090
。
6. 检查 Targets 状态都是
UP
。
如果 Targets 状态为
DOWN
则需要检查网络访问是否可达,或根据状态栏最后的 Error 选项查看原因。7. 查询监控指标数据。
单击 Graph 选项输入查询的指标名称即可看到相应的监控数据,例如输入
node_memory_MemAvailable_bytes
,单击 Execute。
1. 登录可观测平台 > Prometheus 监控,如果没有 Prometheus 实例,请先单击新建去创建实例,具体指引请见 创建 Prometheus 实例。
注意:

2. 在实例列表中点击一个 Prometheus 实例,进入实例详情。选择数据采集 > 集成中心,在开发中找到抓取任务,点击进入。

3. 在弹出的抓取任务抽屉中,填写以下代码示例中的采集配置,并点击保存。
根据需要采集的指标大类进行配置,支持 jmx-exporter 及 node-exporter。

jmx-exporter 配置示例:
job_name: broker-jmx-exporterscrape_interval: 10smetrics_path: /metricsstatic_configs:- targets:- 10.0.x.x:60001- 10.0.x.x:60003- 10.0.x.x:60005- 10.0.x.x:60007labels:application: broker-jmx
node-exporter 配置示例:
job_name: broker-node-exporterscrape_interval: 10smetrics_path: /metricsstatic_configs:- targets:- 10.0.x.x:60002- 10.0.x.x:60004- 10.0.x.x:60006- 10.0.x.x:60008labels:application: broker-node
4. 在抓取任务中点击已集成页签,等待2-3分钟,可以看到运行状态变化为“已部署”,Targets 也可以看到具体的数据抓取对象。点击指标明细可以看到抓取的 Broker 指标。
