接入外部监控 Prometheus

最近更新时间:2024-10-14 18:05:01

我的收藏

操作场景

腾讯云 CKafka 专业版实例默认为所有用户提供了外部监控服务的接入方式,通过提供的接入点可完成 CKafka 实例的监控,包括未同步副本、主题流入消息速率等一系列开源 Kafka 可监控的度量指标。
腾讯云 CKafka 专业版实例目前提供 Prometheus 抓取监控数据的 broker 节点指标信息,包括有 CPU、内存使用情况、系统负载等基本监控度量指标,以及 broker JMX 暴露出的度量指标。

操作步骤

1. 登录 CKafka 控制台
2. 在左侧导航栏选择实例列表,单击目标实例的“ID”,进入实例基本信息页面。
3. 使用 Prometheus 监控模块单击右上角的获取监控目标,选择 VPC 和子网。
4. 单击提交,获取一组监控目标。

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

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

7. 下载 Prometheus,并配置监控抓取地址。
7.1 进入 Prometheus 程序包所在目录,执行如下命令,解压 Prometheus 程序包。
tar -vxf prometheus-2.30.3.linux-amd64.tar.gz
7.2 修改配置文件 prometheus.yml,增加 jmx_exporternode_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: 5s
metrics_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: 10s
metrics_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 为抓取监控度量数据的频率。
7.3 启动 Prometheus。
./prometheus --config.file=prometheus.yml --web.enable-lifecycle
7.4 打开 Prometheus 提供的 UI 界面查看接入的 Targets 状态是否正常,如在浏览器输入 http://localhost:9090

7.5 检查 Targets 状态都是 UP

如果 Targets 状态为 DOWN 则需要检查网络访问是否可达,或根据状态栏最后的 Error 选项查看原因。
8. 查询监控指标数据。 单击 Graph 选项输入查询的指标名称即可看到相应的监控数据,例如输入node_memory_MemAvailable_bytes ,单击execute