tencent cloud

Prometheus 监控服务

产品简介
产品概述
产品优势
应用场景
基本概念
相关限制
功能特性
开服地域
购买指南
计费概述
按量付费(后付费)
免费试用介绍
托管采集器付费介绍
归档存储付费介绍
购买方式
欠费说明
快速入门
接入指南
抓取配置说明
自定义监控
EMR 接入
Java 应用接入
Golang 应用接入
Exporters 接入
Nacos 接入
通用组件监控
健康巡检
TKE 集群内安装组件说明
云监控
非腾讯云主机监控
通过 Remote Read 读取云托管 Prometheus 实例数据
Agent 自助接入
Pushgateway 接入
安全组开放说明
操作指南
实例
容器监控
集成中心
数据多写
预聚合
实例诊断
归档存储
告警策略
标签管理
访问控制
Grafana
API 使用指南
容器服务指标
相关资源使用及计费说明
实践教程
自建 Prometheus 迁入
云服务器场景下自定义接入
容器场景监控
TKE Serverless 集群如何放通外网
Prometheus 监控服务如何接入本地 Grafana
Prometheus 实例访问公网
配置 Prometheus 公网地址
Terraform
Terraform 概述
使用 Terraform 管理 Prometheus 实例
使用 Terraform 管理 Prometheus 实例的集成中心
使用 Terraform 采集容器监控数据
使用 Terraform 配置告警策略
常见问题
基础问题
集成容器服务相关
产品咨询
使用&技术问题
云监控问题
服务等级协议
TMP 政策
TMP 隐私协议
TMP 数据处理和安全协议

精简监控指标

PDF
聚焦模式
字号
最后更新时间: 2024-08-08 10:42:17
本文档介绍如何精简 Prometheus 监控服务的采集指标,避免不必要的费用支出。

前提条件

在配置监控数据采集项前,您需要完成以下操作:

精简指标

通过控制台精简指标

Prometheus 监控服务提供了一百多个免费的基础监控指标,完整的指标列表可查看 按量付费免费指标
1. 登录 腾讯云可观测平台控制台,选择左侧导航栏中的 Prometheus 监控
2. 在监控实例列表页,选择需要配置数据采集规则的实例名称,进入该实例详情页。
3. 数据采集页面,选择集成容器服务,单击集群右侧的数据采集配置,如下图所示:



4. 进入采集配置列表页后,基础指标支持通过产品化的页面增加/减少采集对象,单击右侧的指标详情,如下图所示:



5. 在以下页面您可以查看到每个指标是否免费,指标勾选表示会采集这些指标,您可按需勾选使用。仅基础监控提供免费的监控指标,完整的免费指标详情请参见 按量付费免费指标。付费指标计算详情见 Prometheus 监控服务按量计费




通过 YAML 精简指标

Prometheus 目前收费模式为按监控数据的点数收费,为了最大程度减少不必要的浪费,建议您针对采集配置进行优化,只采集需要的指标,过滤掉非必要指标,从而减少整体上报量。详细的计费方式和相关云资源的使用请查看 文档
以下步骤将分别介绍如何在自定义指标的 ServiceMonitor、PodMonitor,以及原生 Job 中加入过滤配置,精简自定义指标。
1. 登录 腾讯云可观测平台控制台,选择左侧导航栏中的 Prometheus 监控
2. 在监控实例列表页,选择需要配置数据采集规则的实例名称,进入该实例详情页。
3. 数据采集页面,选择集成容器服务,单击集群右侧的数据采集配置。
4. 单击实例右侧的编辑查看指标详情。
ServiceMonitor 和 PodMonitor
原生 Job
ServiceMonitor 和 PodMonitor 的过滤配置字段相同,本文以 ServiceMonitor 为例。 ServiceMonitor 示例:
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
labels:
app.kubernetes.io/name: kube-state-metrics
app.kubernetes.io/version: 1.9.7
name: kube-state-metrics
namespace: kube-system
spec:
endpoints:
- bearerTokenSecret:
key: ""
interval: 15s # 该参数为采集频率,您可以调大以降低数据存储费用,例如不重要的指标可以改为 300s,可以降低20倍的监控数据采集量
port: http-metrics
scrapeTimeout: 15s # 该参数为采集超时时间,Prometheus 的配置要求采集超时时间不能超过采集间隔,即:scrapeTimeout <= interval
jobLabel: app.kubernetes.io/name
namespaceSelector: {}
selector:
matchLabels:
app.kubernetes.io/name: kube-state-metrics
若要采集 kube_node_infokube_node_role 的指标,则需要在 ServiceMonitor 的 endpoints 列表中,加入 metricRelabelings 字段配置。注意:是 metricRelabelings 而不是 relabelings。 添加 metricRelabelings 示例:
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
labels:
app.kubernetes.io/name: kube-state-metrics
app.kubernetes.io/version: 1.9.7
name: kube-state-metrics
namespace: kube-system
spec:
endpoints:
- bearerTokenSecret:
key: ""
interval: 15s # 该参数为采集频率,您可以调大以降低数据存储费用,例如不重要的指标可以改为 300s,可以降低20倍的监控数据采集量
port: http-metrics
scrapeTimeout: 15s
# 加了如下四行:
metricRelabelings: # 针对每个采集到的点都会做如下处理
- sourceLabels: ["__name__"] # 要检测的label名称,__name__ 表示指标名称,也可以是任意这个点所带的label
regex: kube_node_info|kube_node_role # 上述label是否满足这个正则,在这里,我们希望__name__满足kube_node_info或kube_node_role
action: keep # 如果点满足上述条件,则保留,否则就自动抛弃
jobLabel: app.kubernetes.io/name
namespaceSelector: {}
selector:
如果使用的是 Prometheus 原生的 Job,则可以参考以下方式进行指标过滤。 Job 示例:
scrape_configs:
- job_name: job1
scrape_interval: 15s # 该参数为采集频率,您可以调大以降低数据存储费用,例如不重要的指标可以改为 300s,可以降低20倍的监控数据采集量
static_configs:
- targets:
- '1.1.1.1'
若只需采集 kube_node_infokube_node_role 的指标,则需要加入 metric_relabel_configs 配置。注意:是 metric_relabel_configs 而不是 relabel_configs。 添加 metric_relabel_configs 示例:
scrape_configs:
- job_name: job1
scrape_interval: 15s # 该参数为采集频率,您可以调大以降低数据存储费用,例如不重要的指标可以改为 300s,可以降低20倍的监控数据采集量
static_configs:
- targets:
- '1.1.1.1'
# 加了如下四行:
metric_relabel_configs: # 针对每个采集到的点都会做如下处理
- source_labels: ["__name__"] # 要检测的label名称,__name__ 表示指标名称,也可以是任意这个点所带的label
regex: kube_node_info|kube_node_role # 上述label是否满足这个正则,在这里,我们希望__name__满足kube_node_info或kube_node_role
action: keep # 如果点满足上述条件,则保留,否则就自动抛弃
5. 单击确定

屏蔽部分采集对象

屏蔽整个命名空间的监控

Prometheus 关联集群后,默认会纳管集群中所有 ServiceMonitor 和 PodMonitor,若您想屏蔽某个命名空间下的监控,可以为指定命名空间添加 label:tps-skip-monitor: "true",关于 label 的操作请 参考

屏蔽部分采集对象

Prometheus 通过在用户的集群里面创建 ServiceMonitor 和 PodMonitor 类型的 CRD 资源进行监控数据的采集,若您想屏蔽指定 ServiceMonitor 和 PodMonitor 的采集,可以为这些 CRD 资源添加 label:tps-skip-monitor: "true",关于 label 的操作请 参考


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈