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 | 采集配置来源。支持 :0、1- 0:自建k8s - 1:TKE 示例值:0 |
| GroupIds.N | 是 | Array of String | 机器组id。 示例值:["81853bcf-67b4-4a4f-82c7-7882fd004613"] |
| Type | 是 | Integer | 监控类型。支持 :0、1,不支持修改- 0:基础监控 - 1:自定义监控, 示例值:0 |
| Flag | 是 | Integer | 采集配置方式。支持 :0、1,不支持修改- 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。
- Tencent Cloud SDK 3.0 for Python: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Java: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for PHP: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Go: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Node.js: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for .NET: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for C++: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Ruby: CNB, GitHub, Gitee
命令行工具
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 | 操作不支持。 |