tencent cloud

APIs

CreateMetricConfig

下载
聚焦模式
字号
最后更新时间: 2026-06-10 15:01:10

1. API Description

Domain name for API request: cls.intl.tencentcloudapi.com.

This API is used to create metric collection configurations.

A maximum of 20 requests can be initiated per second for this API.

We recommend you to use API Explorer
Try it
API Explorer provides a range of capabilities, including online call, signature authentication, SDK code generation, and API quick search. It enables you to view the request, response, and auto-generated examples.

2. Input Parameters

The following request parameter list only provides API request parameters and some common parameters. For the complete common parameter list, see Common Request Parameters.

Parameter Name Required Type Description
Action Yes String Common Params. The value used for this API: CreateMetricConfig.
Version Yes String Common Params. The value used for this API: 2020-10-16.
Region Yes String Common Params. For more information, please see the list of regions supported by the product.
TopicId Yes String Metric log topic id.
- Obtain the log topic Id through Get Log Topic List. Note that BizType 0: log topic (default value), 1: metric topic.
- Obtain the log topic Id through Create Log Topic. Note that BizType 0: log topic (default value), 1: metric topic.
Source Yes Integer Collection configuration source. Support: 0, 1.
-0: Self-build k8s
- 1:TKE
GroupIds.N Yes Array of String Machine group ID.
Type Yes Integer Monitoring type. Supported values: 0, 1. Cannot be modified.
-0: Basic monitoring
-Custom monitoring
Flag Yes Integer Collection configuration method. Supports 0, 1. Cannot be modified.
-0: Ordinary setting method. The Type field is only for 1.
-YAML import method. Type can be 0 or 1.
Name No String Name: Length not exceeding 253 characters, check format [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*.
Spec No MetricSpec Collection object. This parameter is valid only when Flag is 0.
MetricRelabels.N No Array of Relabeling Label processing. This parameter is valid only when Flag is 0.
MetricLabel No MetricConfigLabel Custom metadata. This parameter is valid only when Flag is 0.
Scheme No String Communication protocol. Valid values: HTTP and HTTPS. This parameter is valid only when Flag is 0.
ScrapeInterval No String Collection frequency. This parameter is valid only when Flag is 0.
-Check format: ^(((\d+)y)?((\d+)w)?((\d+)d)?((\d+)h)?((\d+)m)?((\d+)s)?((\d+)ms)?|0)$
-Default: 60s
ScrapeTimeout No String Collection timeout. This parameter is valid only when Flag is 0.
-Check format: ^(((\d+)y)?((\d+)w)?((\d+)d)?((\d+)h)?((\d+)m)?((\d+)s)?((\d+)ms)?|0)$
-Default: 30s
HonorLabels No Boolean How to handle tag conflicts. This parameter is valid only when Flag=0 and supports true and false.
-false: Rename conflicting tags in configuration data
-true: Ignore server-side tag conflicts
YamlSpec No MetricYamlSpec Collection configuration, which is a string in YAML format. It is required when Flag is 1.

3. Output Parameters

Parameter Name Type Description
ConfigIds Array of String List of metric collection configuration IDs.
RequestId String The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.

4. Example

Example1 Creating a Metric Collection

This example shows you how to create a Prometheus metric collection.

Input Example

POST / HTTP/1.1
Host: cls.intl.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateMetricConfig
<Common request parameters>

{
    "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"
    }
}

Output Example

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

5. Developer Resources

SDK

TencentCloud API 3.0 integrates SDKs that support various programming languages to make it easier for you to call APIs.

Command Line Interface

6. Error Code

The following only lists the error codes related to the API business logic. For other error codes, see Common Error Codes.

Error Code Description
AuthFailure CAM signature/authentication error.
AuthFailure.UnauthorizedOperation Request unauthorized.
FailedOperation Operation failed.
FailedOperation.Timeout Operation timed out
InternalError Internal error.
InternalError.DbError DB Error.
InternalError.IllegalRole Illegal role.
InvalidParameter Incorrect parameter.
InvalidParameter.DbDuplication The unique key of database conflicts.
InvalidParameter.ParamError Parameter error.
InvalidParameterValue Incorrect parameter value.
LimitExceeded.RecordOutOfLimit Record exceeds limit
MissingParameter Missing parameter.
UnauthorizedOperation Unauthorized operation.
UnknownParameter Unknown parameter error.
UnsupportedOperation Unsupported operation.

帮助和支持

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

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

文档反馈