创建指标采集配置

最近更新时间:2025-12-23 01:28:50

我的收藏

1. 接口描述

接口请求域名: cls.tencentcloudapi.com 。

创建指标采集配置

默认接口请求频率限制:20次/秒。

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:CreateMetricConfig。
Version String 公共参数,本接口取值:2020-10-16。
Region String 公共参数,详见产品支持的 地域列表
TopicId String 指标日志主题id。
- 通过 获取日志主题列表 获取日志主题Id。注意BizType 0:日志主题(默认值), 1:指标主题
- 通过 创建日志主题 获取日志主题Id。注意BizType 0:日志主题(默认值), 1:指标主题
示例值:715094e3-01b0-4aeb-91f5-ee9f46a4a13c
Source Integer 采集配置来源。支持 :01
- 0:自建k8s
- 1:TKE
示例值:0
GroupIds.N Array of String 机器组id。
示例值:["81853bcf-67b4-4a4f-82c7-7882fd004613"]
Type Integer 监控类型。支持 :01,不支持修改
- 0:基础监控
- 1:自定义监控,
示例值:0
Flag Integer 采集配置方式。支持 :01,不支持修改
- 0:普通配置方式,Type字段只能为:`1
- 1:YAML导入方式, Type 可以是:0或者1
示例值:0
Name String 名称:长度不超过253字符,校验格式 [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*
示例值:template-1
Spec MetricSpec 采集对象, Flag=0时生效
MetricRelabels.N Array of Relabeling 标签处理, Flag=0时生效
MetricLabel MetricConfigLabel 自定义元数据, Flag=0时生效
Scheme String 通信协议 http、https; Flag=0时生效
示例值:http
ScrapeInterval String 采集频率, Flag=0时生效
- 校验格式:^(((\d+)y)?((\d+)w)?((\d+)d)?((\d+)h)?((\d+)m)?((\d+)s)?((\d+)ms)?|0)$
- 默认:60s
示例值:60s
ScrapeTimeout String 采集超时时间, Flag=0时生效
- 校验格式:^(((\d+)y)?((\d+)w)?((\d+)d)?((\d+)h)?((\d+)m)?((\d+)s)?((\d+)ms)?|0)$
- 默认:30s
示例值:30s
HonorLabels Boolean Prometheus如何处理标签之间的冲突。当Flag=0时生效,支持true,false
- false:配置数据中冲突的标签重命名
- true:忽略冲突的服务器端标签
示例值:false
YamlSpec MetricYamlSpec 采集配置yaml格式字符串, Flag=1时必填

3. 输出参数

参数名称 类型 描述
ConfigIds Array of String 指标采集配置id列表。
示例值:["23986f8e-2cab-45e6-a5d3-b1d654681ce6","c10ce223-4f2c-4832-a61b-2388a675a230"]
RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 创建指标采集

创建基础监控指标采集配置

输入示例

POST / HTTP/1.1
Host: cls.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateMetricConfig
<公共请求参数>

{
    "TopicId": "d7adf66d-88a7-4321-8b4b-6f2c7a9773b8",
    "Source": 1,
    "GroupIds": [
        "886bf7a8-7340-4314-8d64-b360da0ffd78"
    ],
    "Type": 1,
    "Flag": 1,
    "YamlSpec": {
        "Type": "ScrapeConfig-prometheus",
        "Spec": "scrape_configs:\n- job_name: cadvisor\n  honor_timestamps: false\n  metrics_path: /metrics\n  scheme: https\n  kubernetes_sd_configs:\n  - role: node\n  bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token\n  tls_config:\n    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt\n  relabel_configs:\n  - source_labels: [__meta_kubernetes_node_name]\n    separator: ;\n    regex: (.*)\n    target_label: __address__\n    replacement: kubernetes.default.svc:443\n    action: replace\n  - source_labels: [__meta_kubernetes_node_name]\n    separator: ;\n    regex: (.+)\n    target_label: __metrics_path__\n    replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor\n    action: replace\n  - separator: ;\n    regex: __meta_kubernetes_node_label_(.+)\n    replacement: $1\n    action: labelmap\n  - separator: ;\n    regex: eks_tke_cloud_tencent_com_(.+)\n    replacement: $1\n    action: labeldrop\n  metric_relabel_configs:\n  - source_labels: [container_name]\n    separator: ;\n    regex: (.+)\n    target_label: container\n    replacement: $1\n    action: replace\n  - source_labels: [pod_name]\n    separator: ;\n    regex: (.+)\n    target_label: pod\n    replacement: $1\n    action: replace\n  - source_labels: [container]\n    separator: ;\n    regex: (.*)\n    replacement: $1\n    action: keep\n---\nscrape_configs:\n- job_name: kube-state-metric\n  honor_timestamps: true\n  metrics_path: /metrics\n  scheme: http\n  kubernetes_sd_configs:\n  - role: endpoints\n    namespaces:\n      names:\n      - kube-system\n    selectors:\n      - label: \"app.kubernetes.io/name==kube-state-metrics\"\n        role: endpoints\n  bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token\n  tls_config:\n    insecure_skip_verify: true\n  metric_relabel_configs:\n  - source_labels: [__name__, resource, unit]\n    separator: ;\n    regex: kube_pod_container_resource_requests;cpu;core\n    target_label: __name__\n    replacement: kube_pod_container_resource_requests_cpu_cores\n    action: replace\n  - source_labels: [__name__, resource, unit]\n    separator: ;\n    regex: kube_pod_container_resource_limits;cpu;core\n    target_label: __name__\n    replacement: kube_pod_container_resource_limits_cpu_cores\n    action: replace\n  - source_labels: [__name__, resource, unit]\n    separator: ;\n    regex: kube_pod_container_resource_requests;memory;byte\n    target_label: __name__\n    replacement: kube_pod_container_resource_requests_memory_bytes\n    action: replace\n  - source_labels: [__name__, resource, unit]\n    separator: ;\n    regex: kube_pod_container_resource_limits;memory;byte\n    target_label: __name__\n    replacement: kube_pod_container_resource_limits_memory_bytes\n    action: replace\n  - source_labels: [__name__, resource, unit]\n    separator: ;\n    regex: kube_node_status_capacity;cpu;core\n    target_label: __name__\n    replacement: kube_node_status_capacity_cpu_cores\n    action: replace\n  - source_labels: [__name__, resource, unit]\n    separator: ;\n    regex: kube_node_status_capacity;memory;byte\n    target_label: __name__\n    replacement: kube_node_status_capacity_memory_bytes\n    action: replace\n  - source_labels: [__name__, resource, unit]\n    separator: ;\n    regex: kube_node_status_allocatable;cpu;core\n    target_label: __name__\n    replacement: kube_node_status_allocatable_cpu_cores\n    action: replace\n  - source_labels: [__name__, resource, unit]\n    separator: ;\n    regex: kube_node_status_allocatable;memory;byte\n    target_label: __name__\n    replacement: kube_node_status_allocatable_memory_bytes\n    action: replace\n---\nscrape_configs:\n- job_name: node-exporter\n  honor_timestamps: true\n  metrics_path: /metrics\n  scheme: http\n  kubernetes_sd_configs:\n  - role: endpoints\n    namespaces:\n      names:\n      - kube-system\n    selectors:\n    - label: \"app.kubernetes.io/name==node-exporter\"\n      role: endpoints\n  bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token\n  tls_config:\n    insecure_skip_verify: true\n  relabel_configs:\n  - separator: ;\n    action: replace\n    regex: (.*)\n    replacement: $1\n    source_labels: [__meta_kubernetes_pod_node_name]\n    target_label: instance"
    }
}

输出示例

{
    "Response": {
        "ConfigIds": [
            "1bfadff7-9c5d-48c2-b985-21670d9d007e",
            "82182b27-7997-439d-bcc3-22a5c9da3bc4",
            "b8c24595-6fce-489c-8488-9d2db440fd9d"
        ],
        "RequestId": "e163af1b-fd31-4cef-b820-cb897e4644cf"
    }
}

5. 开发者资源

腾讯云 API 平台

腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

API Inspector

用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
AuthFailure CAM签名/鉴权错误。
AuthFailure.UnauthorizedOperation 请求未授权。
FailedOperation 操作失败。
FailedOperation.Timeout 操作超时
InternalError 内部错误。
InternalError.DbError DB错误。
InternalError.IllegalRole 角色非法。
InvalidParameter 参数错误。
InvalidParameter.DbDuplication 数据库唯一键冲突。
InvalidParameter.ParamError 参数错误。
InvalidParameterValue 参数取值错误。
LimitExceeded.RecordOutOfLimit 记录超过限制
MissingParameter 缺少参数错误。
UnauthorizedOperation 未授权操作。
UnknownParameter 未知参数错误。
UnsupportedOperation 操作不支持。