文档中心>API 中心

创建 exporter 集成

最近更新时间:2024-04-03 11:23:37

我的收藏

1. 接口描述

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

创建集成中心 exporter 集成,因集成较多,建议控制台创建集成。(前提:已授权创建托管 EKS 集群,验证方式:1. 控制台界面确认,未提示授权则表示已授权创建;2. 通过 DescribePrometheusInstanceInitStatus 接口查询集群状态,如果托管集群不存在,可通过 RunPrometheusInstance 接口创建)

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

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

2. 输入参数

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

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:CreateExporterIntegration。
Version String 公共参数,本接口取值:2018-07-24。
Region String 公共参数,详见产品支持的 地域列表
InstanceId String 实例 ID
示例值:prom-xx
Kind String 类型(可通过 DescribePrometheusIntegrations 接口获取,取每一项中的 ExporterType 字段)
示例值:mysql-exporter
Content String 集成配置
示例值:{"name":"test","kind":"blackbox-exporter","spec":{"instanceSpec":{"module":"http_get","urls":["http://abc"]}}}
KubeType Integer Kubernetes 集群类型,可不填,取值如下:
  • 1= 容器集群(TKE)
  • 2=弹性集群(EKS)
  • 3= Prometheus管理的弹性集群(MEKS)

  • 示例值:3
    ClusterId String 集群 ID,可不填
    示例值:cls-xx

    3. 输出参数

    参数名称 类型 描述
    Names Array of String 返回创建成功的集成名称列表
    RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

    4. 示例

    示例1 g. 创建 EMR 集成

    参数说明:

    1. InstanceId 是 Prometheus 实例 ID,必填
    2. Kind 参数固定为 emr-exporter,必填
    3. Content 参数格式如示例。说明如下:
      4.1. kind 是集成类型,必填且这里固定为 emr-exporter
      4.2. spec.job 是抓取配置,必填,yaml格式,具体可参考EMR 接入文档

    输入示例

    POST / HTTP/1.1
    Host: monitor.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateExporterIntegration
    <公共请求参数>
    
    {
        "InstanceId": "prom-1",
        "Kind": "emr-exporter",
        "Content": "{\"kind\":\"emr-exporter\",\"spec\":{\"job\":\"job_name: emr-example-job\\nmetrics_path: /metrics\\nemr_sd_configs:\\n- region: ap-guangzhou\\n  instance_ids: \\n    - emr-test\\nrelabel_configs:\\n- regex: __meta_emr_(.*)\\n  replacement: $1\\n  action: labelmap\"}}"
    }

    输出示例

    {
        "Response": {
            "Names": [
                "emr-example-job"
            ],
            "RequestId": "xyz"
        }
    }

    示例2 f. 创建 Cdwch 集成

    参数说明:

    1. InstanceId 是 Prometheus 实例 ID,必填
    2. Kind 参数固定为 cdwch-exporter,必填
    3. Content 参数格式如示例。说明如下:
      3.1. kind 是集成类型,必填且这里固定为 cdwch-exporter
      3.2. spec.job 是抓取配置,必填,yaml格式,建议参考输入示例,仅需修改任务名和实例 ID

    输入示例

    POST / HTTP/1.1
    Host: monitor.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateExporterIntegration
    <公共请求参数>
    
    {
        "InstanceId": "prom-1",
        "Kind": "cdwch-exporter",
        "Content": "{\"kind\":\"cdwch-exporter\",\"spec\":{\"job\":\"job_name: cdwch-example-job\\nmetrics_path: /metrics\\ncdwch_sd_configs:\\n- region: ap-guangzhou\\n  instance_ids: \\n    - cdwch-test\\nrelabel_configs:\\n- regex: __meta_cdwch_(.*)\\n  replacement: $1\\n  action: labelmap\"}}"
    }

    输出示例

    {
        "Response": {
            "Names": [
                "cdwch-example-job"
            ],
            "RequestId": "xyz"
        }
    }

    示例3 h. 创建 抓取任务

    安装 免鉴权代理,可以免鉴权内网访问 Prometheus 原生 API。
    创建后可以调用 DescribeExporterIntegrations 接口,通过 InstanceDesc 参数获取集成的内网 IP:Port 地址,该地址可以代替 Prometheus 实例地址,实现免鉴权访问。
    参数说明:

    1. InstanceId 是 Prometheus 实例 ID,必填
    2. Kind 参数固定为 raw-job,必填
    3. Content 参数格式如示例。说明如下:
      3.1. kind 是集成类型,必填且这里固定为 raw-job
      3.2. spec.spec.job 是 Prometheus 原生抓取配置,yaml格式,必填。可参考配置说明文档

    输入示例

    POST / HTTP/1.1
    Host: monitor.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateExporterIntegration
    <公共请求参数>
    
    {
        "InstanceId": "prom-1",
        "Kind": "raw-job",
        "Content": "{\"kind\":\"raw-job\",\"spec\":{\"job\":\"job_name: test\\nscrape_interval: 30s\\nstatic_configs:\\n- targets:\\n  - 127.0.0.1:9090\"}}"
    }

    输出示例

    {
        "Response": {
            "Names": [
                "test"
            ],
            "RequestId": "xyz"
        }
    }

    示例4 k. 创建 Kafka 集成

    安装 kafka Exporter。
    参数说明:

    1. InstanceId 是 Prometheus 实例 ID,必填
    2. Kind 参数固定为 kafka-exporter,必填
    3. Content 参数格式如示例。说明如下:
      3.1. name 是集成名,必填且全局唯一,需要符合正则表达式^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
      3.2. kind 是集成类型,必填且这里固定为 kafka-exporter
      3.3. spec.instanceSpec.servers 是 Kafka 实例的地址,必填,可填写多个,建议一个实例一个集成
      3.4. spec.instanceSpec.version 是 Kafka 实例的版本,选填,部分版本不填写会报错,比如 0.10.2.0
      3.5. spec.instanceSpec.labels 用于给指标添加自定义标签,键值对类型,选填
      3.6. spec.exporterSpec.topicFilter 用于过滤 topic,可不填,默认全部采集。填写正则表达式后,只采集符合条件的 topic
      3.7. spec.exporterSpec.groupFilter 用于过滤 group,可不填,默认全部采集。填写正则表达式后,只采集符合条件的 group

    输入示例

    POST / HTTP/1.1
    Host: monitor.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateExporterIntegration
    <公共请求参数>
    
    {
        "InstanceId": "prom-1",
        "Kind": "kafka-exporter",
        "Content": "{\"name\":\"kafka-test\",\"kind\":\"kafka-exporter\",\"spec\":{\"instanceSpec\":{\"servers\":[\"127.0.0.1:8080\"],\"version\":\"0.10.2.0\",\"labels\":{\"labelKey\":\"labelValue\",\"test\":\"test\"}},\"exporterSpec\":{\"topicFilter\":\"topic.*\",\"groupFilter\":\"group.*\"}}}"
    }

    输出示例

    {
        "Response": {
            "Names": [
                "kafka-test"
            ],
            "RequestId": "xyz"
        }
    }

    示例5 o. 创建 MySQL 集成

    安装 MySQL Exporter。
    参数说明:

    1. InstanceId 是 Prometheus 实例 ID,必填
    2. Kind 参数固定为 mysql-exporter,必填
    3. Content 参数格式如示例。说明如下:
      3.1. name 是集成名,必填且全局唯一,需要符合正则表达式^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
      3.2. kind 是集成类型,必填且这里固定为 mysql-exporter
      3.3. spec.instanceSpec.user 是 MySQL 实例的用户名称,必填
      3.4. spec.instanceSpec.password 是 MySQL 实例的密码,必填
      3.5. spec.instanceSpec.address 是 MySQL 实例的连接地址,必填
      3.6. spec.instanceSpec.labels 用于给指标添加自定义标签,键值对类型,选填

    输入示例

    POST / HTTP/1.1
    Host: monitor.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateExporterIntegration
    <公共请求参数>
    
    {
        "InstanceId": "prom-1",
        "Kind": "mysql-exporter",
        "Content": "{\"name\":\"mysql-test\",\"kind\":\"mysql-exporter\",\"spec\":{\"instanceSpec\":{\"user\":\"root\",\"password\":\"password\",\"address\":\"127.0.0.1:8080\",\"labels\":{\"labelKey\":\"labelValue\",\"test\":\"test\"}}}}"
    }

    输出示例

    {
        "Response": {
            "Names": [
                "mysql-test"
            ],
            "RequestId": "xyz"
        }
    }

    示例6 q. 创建 Redis 集成

    安装 Redis Exporter。
    参数说明:

    1. InstanceId 是 Prometheus 实例 ID,必填
    2. Kind 参数固定为 redis-exporter,必填
    3. Content 参数格式如示例。说明如下:
      3.1. name 是集成名,必填且全局唯一,需要符合正则表达式^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
      3.2. kind 是集成类型,必填且这里固定为 redis-exporter
      3.3. spec.instanceSpec.address 是 Redis 实例的连接地址,必填
      3.4. spec.instanceSpec.password 是 Redis 实例的密码,必填
      3.5. spec.instanceSpec.labels 用于给指标添加自定义标签,键值对类型,选填

    输入示例

    POST / HTTP/1.1
    Host: monitor.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateExporterIntegration
    <公共请求参数>
    
    {
        "InstanceId": "prom-1",
        "Kind": "redis-exporter",
        "Content": "{\"name\":\"redis-test\",\"kind\":\"redis-exporter\",\"spec\":{\"instanceSpec\":{\"address\":\"127.0.0.1:8080\",\"password\":\"password\",\"labels\":{\"labelKey\":\"labelValue\",\"test\":\"test\"}}}}"
    }

    输出示例

    {
        "Response": {
            "Names": [
                "redis-test"
            ],
            "RequestId": "xyz"
        }
    }

    示例7 i. 创建 Consul 集成

    安装 Consul Exporter。
    参数说明:

    1. InstanceId 是 Prometheus 实例 ID,必填
    2. Kind 参数固定为 consul-exporter,必填
    3. Content 参数格式如示例。说明如下:
      3.1. name 是集成名,必填且全局唯一,需要符合正则表达式^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
      3.2. kind 是集成类型,必填且这里固定为 consul-exporter
      3.3. spec.instanceSpec.server 是 Consul 实例的地址,必填
      3.4. spec.instanceSpec.labels 用于给指标添加自定义标签,键值对类型,选填

    输入示例

    POST / HTTP/1.1
    Host: monitor.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateExporterIntegration
    <公共请求参数>
    
    {
        "InstanceId": "prom-1",
        "Kind": "consul-exporter",
        "Content": "{\"name\":\"consul-test\",\"kind\":\"consul-exporter\",\"spec\":{\"instanceSpec\":{\"server\":\"1.1.1.1:8080\",\"labels\":{\"labelKey\":\"labelValue\",\"test\":\"test\"}}}}"
    }

    输出示例

    {
        "Response": {
            "Names": [
                "consul-test"
            ],
            "RequestId": "xyz"
        }
    }

    示例8 n. 创建 MongoDB 集成

    安装 MongoDB Exporter。
    参数说明:

    1. InstanceId 是 Prometheus 实例 ID,必填
    2. Kind 参数固定为 mongodb-exporter,必填
    3. Content 参数格式如示例。说明如下:
      3.1. name 是集成名,必填且全局唯一,需要符合正则表达式^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
      3.2. kind 是集成类型,必填且这里固定为 mongodb-exporter
      3.3. spec.instanceSpec.user 是 MongoDB 实例的用户名称,必填
      3.4. spec.instanceSpec.password 是 MongoDB 实例的密码,必填
      3.5. spec.instanceSpec.servers 是 MongoDB 实例的连接地址,必填,可填写多个,逗号分隔
      3.6. spec.instanceSpec.labels 用于给指标添加自定义标签,键值对类型,选填
      3.7. spec.exporterSpec.collectors 是 exporter 的采集配置,选填,字符串数组,示例中展示了所有可填写的值。其中database 表示启用数据库指标的采集,collection表示启用集合指标的采集,topmetrics表示启用数据库表头指标信息的采集,indexusage表示启用索引使用统计信息的采集,connpoolstats表示启用连接池统计信息的采集

    输入示例

    POST / HTTP/1.1
    Host: monitor.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateExporterIntegration
    <公共请求参数>
    
    {
        "InstanceId": "prom-1",
        "Kind": "mongodb-exporter",
        "Content": "{\"name\":\"mongodb-test\",\"kind\":\"mongodb-exporter\",\"spec\":{\"instanceSpec\":{\"user\":\"root\",\"password\":\"password\",\"servers\":[\"127.0.0.1:8080\",\"127.0.0.2:8080\"],\"labels\":{\"labelKey\":\"labelValue\",\"test\":\"test\"}},\"exporterSpec\":{\"collectors\":[\"database\",\"collection\",\"topmetrics\",\"indexusage\",\"connpoolstats\"]}}}"
    }

    输出示例

    {
        "Response": {
            "Names": [
                "mongodb-test"
            ],
            "RequestId": "xyz"
        }
    }

    示例9 l. 创建 RocketMQ 集成

    安装 RocketMQ Exporter。
    参数说明:

    1. InstanceId 是 Prometheus 实例 ID,必填
    2. Kind 参数固定为 rocketmq-exporter,必填
    3. Content 参数格式如示例。说明如下:
      3.1. name 是集成名,必填且全局唯一,需要符合正则表达式^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
      3.2. kind 是集成类型,必填且这里固定为 rocketmq-exporter
      3.3. spec.instanceSpec.address 是 RocketMQ 实例的地址,必填,可填写多个,用分号分割
      3.4. spec.instanceSpec.version 是 RocketMQ 实例的版本,必填,比如 V4_9_4
      3.5. spec.instanceSpec.labels 用于给指标添加自定义标签,键值对类型,选填

    输入示例

    POST / HTTP/1.1
    Host: monitor.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateExporterIntegration
    <公共请求参数>
    
    {
        "InstanceId": "prom-1",
        "Kind": "rocketmq-exporter",
        "Content": "{\"name\":\"rocketmq-test\",\"kind\":\"rocketmq-exporter\",\"spec\":{\"instanceSpec\":{\"address\":\"127.0.0.1:8080;127.0.0.2:8080\",\"version\":\"V4_9_4\",\"labels\":{\"labelKey\":\"labelValue\",\"test\":\"test\"}}}}"
    }

    输出示例

    {
        "Response": {
            "Names": [
                "rocketmq-test"
            ],
            "RequestId": "xyz"
        }
    }

    示例10 r. 创建 Graphite 集成

    安装 Graphite Exporter,可以将 Graphite 指标转为 Prometheus 指标。
    创建后可以调用 DescribeExporterIntegrations 接口,通过 InstanceDesc 参数获取集成的内网 IP:Port 地址。
    参数说明:

    1. InstanceId 是 Prometheus 实例 ID,必填
    2. Kind 参数固定为 graphite-exporter,必填
    3. Content 参数格式如示例。说明如下:
      3.1. name 是集成名,必填且全局唯一,需要符合正则表达式^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
      3.2. kind 是集成类型,必填且这里固定为 graphite-exporter
      3.3. spec.instanceSpec.isStrictMatch 表示是否严格匹配 mappingConfig,选填,默认是 false
      3.4. spec.instanceSpec.mappingConfig 是映射配置,可以定义 Prometheus 指标的名字和 label。具体可参考官方文档

    输入示例

    POST / HTTP/1.1
    Host: monitor.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateExporterIntegration
    <公共请求参数>
    
    {
        "InstanceId": "prom-1",
        "Kind": "graphite-exporter",
        "Content": "{\"name\":\"graphite-test\",\"kind\":\"graphite-exporter\",\"spec\":{\"instanceSpec\":{\"isStrictMatch\":true,\"mappingConfig\":\"mappings:\\n- match: test.dispatcher.*.*.*\\n  name: dispatcher_events_total\\n  labels:\\n    action: $2\\n    job: test_dispatcher\\n    outcome: $3\\n    processor: $1\\n- match: \\\"*.signup.*.*\\\"\\n  name: signup_events_total\\n  labels:\\n    job: ${1}_server\\n    outcome: $3\\n    provider: $2\\n- match: \\\"servers.(.*).networking.subnetworks.transmissions.([a-z0-9-]+).(.*)\\\"\\n  match_type: regex\\n  name: \\\"servers_networking_transmissions_${3}\\\"\\n  labels: \\n    hostname: ${1}\\n    device: ${2}\"}}}"
    }

    输出示例

    {
        "Response": {
            "Names": [
                "graphite-test"
            ],
            "RequestId": "xyz"
        }
    }

    示例11 a. 创建 云监控 集成

    参数说明:

    1. InstanceId 是 Prometheus 实例 ID,必填
    2. Kind 参数固定为 qcloud-exporter,必填
    3. Content 参数格式如示例。说明如下:
      3.1. name 是集成名,必填且全局唯一,需要符合正则表达式^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
      3.2. kind 是集成类型,必填且这里固定为 qcloud-exporter
      3.3. spec.instanceSpec.region 是云产品所在地域,必填,比如采集广州地域的云产品,可以填 广州ap-guangzhou,该参数最终会转化为指标的 label, 名为 instance-region
      3.4. spec.instanceSpec.delaySeconds 表示数据采集延迟,整数,单位是秒,可不填,默认是 0。当值为 0 时,原始数据点的时间戳会被忽略,替换为集成拉取到数据点的时间;当值 >0 时,数据点会保留原始的时间戳,且数据必然会延迟设置的时间
      3.5. spec.instanceSpec.reload_interval_minutes 表示实例刷新间隔,整数,单位是分钟,必填且必须大于等于 10。云产品实例的新增或者云标签的修改,会在刷新实例后反映在指标中,至多需要等待一个实例刷新间隔
      3.6. spec.instanceSpec.useRole 表示是否使用服务角色,布尔类型,必填。当前逻辑一定会使用服务角色,所以必填 true
      3.7. spec.instanceSpec.labels 用于给指标添加自定义标签,键值对类型,选填
      3.8. spec.exporterSpec.[云产品] 表示是否采集对应云产品,布尔类型,true 表示采集该云产品。云产品各编码指代含义:cvm:云服务器,cbs:云硬盘,lb_public:负载均衡(公网),lb_private:负载均衡(内网),tgw_set:负载均衡(独占集群),cmongo:数据库MongoDB,cdb:数据库MySQL(CDB),redis:数据库Redis(CKV版),redis_mem:数据库Redis(内存版),tendis:Tendis,xstor:CTSDB(InfluxDB版),mariadb:数据库MariaDB,postgres:数据库PostgreSQL,tdmysql:TDSQL MySQL版,cynosdb_mysql:TDSQL-C MySQL,sqlserver:数据库SQL Server,nat_gateway:NAT网关,ckafka:CKafka,rocketmq:RocketMQ(新指标),lb:弹性公网IP,vpngw:VPN网关,vpnx:VPN通道,vpc_net_detect:网络探测,cdn:CDN,ov_cdn:CND(海外),cos:COS,dc:专线接入-物理专线,dcx:专线接入-专用通道,dcg:专线接入-专线网关,lighthouse:轻量应用服务器,nacos:Nacos,zookeeper:Zookeeper,ces:Elasticsearch,dts:数据传输服务,vbc:云联网,gaap:全球应用加速,waf:Web应用防火墙,cfs:文件存储,bwp:共享带宽包,scf_v2:云函数(别名),vod:云点播(VOD),cls:日志服务(CLS)-日志主题,apigateway:API 网关,ti_traintask:TI-ONE(任务式建模),ti_notebook:TI-ONE(Notebook),ti_model:TI-ONE(在线服务),self:采集器自监控
      2.9. spec.scrapeSpec.relabelConfigs 用于添加 metricRelabelings 配置,选填。该配置是 prometheus-operator 的 relabel 配置,部分字段与 prometheus 原生 relabel 配置不同,具体可参考官方配置说明

    输入示例

    POST / HTTP/1.1
    Host: monitor.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateExporterIntegration
    <公共请求参数>
    
    {
        "InstanceId": "prom-1",
        "Kind": "qcloud-exporter",
        "Content": "{\"name\":\"test\",\"kind\":\"qcloud-exporter\",\"spec\":{\"instanceSpec\":{\"region\":\"广州\",\"delaySeconds\":0,\"reload_interval_minutes\":10,\"useRole\":true,\"labels\":{\"labelKey\":\"labelValue\",\"test\":\"test\"}},\"exporterSpec\":{\"cvm\":true,\"cbs\":true},\"scrapeSpec\":{\"relabelConfigs\":\"metricRelabelings:\\n- action: labeldrop\\n  regex: tmp_test_label\\n\"}}}"
    }

    输出示例

    {
        "Response": {
            "Names": [
                "test"
            ],
            "RequestId": "xyz"
        }
    }

    示例12 m. 创建 Memcached 集成

    安装 Memcached Exporter。
    参数说明:

    1. InstanceId 是 Prometheus 实例 ID,必填
    2. Kind 参数固定为 memcached-exporter,必填
    3. Content 参数格式如示例。说明如下:
      3.1. name 是集成名,必填且全局唯一,需要符合正则表达式^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
      3.2. kind 是集成类型,必填且这里固定为 memcached-exporter
      3.3. spec.instanceSpec.address 是 Memcached 实例的地址,必填
      3.4. spec.instanceSpec.labels 用于给指标添加自定义标签,键值对类型,选填

    输入示例

    POST / HTTP/1.1
    Host: monitor.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateExporterIntegration
    <公共请求参数>
    
    {
        "InstanceId": "prom-1",
        "Kind": "memcached-exporter",
        "Content": "{\"name\":\"memcached-test\",\"kind\":\"memcached-exporter\",\"spec\":{\"instanceSpec\":{\"address\":\"127.0.0.1:8080\",\"labels\":{\"labelKey\":\"labelValue\",\"test\":\"test\"}}}}"
    }

    输出示例

    {
        "Response": {
            "Names": [
                "memcached-test"
            ],
            "RequestId": "xyz"
        }
    }

    示例13 p. 创建 PostgreSQL 集成

    安装 PostgreSQL Exporter。
    参数说明:

    1. InstanceId 是 Prometheus 实例 ID,必填
    2. Kind 参数固定为 postgres-exporter,必填
    3. Content 参数格式如示例。说明如下:
      3.1. name 是集成名,必填且全局唯一,需要符合正则表达式^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
      3.2. kind 是集成类型,必填且这里固定为 postgres-exporter
      3.3. spec.instanceSpec.user 是 PostgreSQL 实例的用户名称,必填
      3.4. spec.instanceSpec.password 是 PostgreSQL 实例的密码,必填
      3.5. spec.instanceSpec.address 是 PostgreSQL 实例的连接地址,必填
      3.6. spec.instanceSpec.labels 用于给指标添加自定义标签,键值对类型,选填

    输入示例

    POST / HTTP/1.1
    Host: monitor.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateExporterIntegration
    <公共请求参数>
    
    {
        "InstanceId": "prom-1",
        "Kind": "postgres-exporter",
        "Content": "{\"name\":\"postgresql-test\",\"kind\":\"postgres-exporter\",\"spec\":{\"instanceSpec\":{\"user\":\"user\",\"password\":\"password\",\"address\":\"127.0.0.1:8080\",\"labels\":{\"labelKey\":\"labelValue\",\"test\":\"test\"}}}}"
    }

    输出示例

    {
        "Response": {
            "Names": [
                "postgresql-test"
            ],
            "RequestId": "xyz"
        }
    }

    示例14 d. 创建 健康巡检 集成

    参数说明:

    1. InstanceId 是 Prometheus 实例 ID,必填
    2. Kind 参数固定为 blackbox-exporter,必填
    3. Content 参数格式如示例。说明如下:
      3.1. name 是集成名,必填且全局唯一,需要符合正则表达式^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
      3.2. kind 是集成类型,必填且这里固定为 blackbox-exporter
      3.3. spec.instanceSpec.module 是探测方式,必填,可选值为 http_gethttp_posttcpsshping
      3.4. spec.instanceSpec.urls 是探测目标,字符串数组,必填,目标格式可以是 host:port 或 http://abc 或 https://abc
      3.5. spec.instanceSpec.noAllowRedirect 可以控制是否禁止重定向,布尔类型,选填,仅对探测方式 http_gethttp_post 生效,true 表示禁止重定向,可直接不填,默认为 false
      3.6. spec.instanceSpec.insecureSkipVerify 可以控制是否禁用目标证书验证,布尔类型,选填,仅对探测方式 http_gethttp_post 生效,true 表示禁用目标证书验证,可直接不填,默认为 false
      3.7. spec.instanceSpec.headers 用于在探测目标时添加 header,键值对类型,选填,仅对探测方式 http_gethttp_post 生效
      3.8. spec.instanceSpec.labels 用于给指标添加自定义标签,键值对类型,选填
      3.9. spec.scrapeSpec.interval 用于自定义探测间隔,选填,默认是 15s

    输入示例

    POST / HTTP/1.1
    Host: monitor.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateExporterIntegration
    <公共请求参数>
    
    {
        "InstanceId": "prom-1",
        "Kind": "blackbox-exporter",
        "Content": "{\"name\":\"test\",\"kind\":\"blackbox-exporter\",\"spec\":{\"instanceSpec\":{\"module\":\"http_get\",\"urls\":[\"host:port\",\"http://abc\",\"https://abc\"],\"noAllowRedirect\":false,\"insecureSkipVerify\":true,\"headers\":{\"Authorization\":\"Basic <Credentials>\",\"test\":\"test\"},\"labels\":{\"labelKey\":\"labelValue\",\"test\":\"test\"}},\"scrapeSpec\":{\"interval\":\"15s\"}}}"
    }

    输出示例

    {
        "Response": {
            "Names": [
                "test"
            ],
            "RequestId": "xyz"
        }
    }

    示例15 j. 创建 ElasticSearch 集成

    安装 ElasticSearch Exporter。
    参数说明:

    1. InstanceId 是 Prometheus 实例 ID,必填
    2. Kind 参数固定为 es-exporter,必填
    3. Content 参数格式如示例。说明如下:
      3.1. name 是集成名,必填且全局唯一,需要符合正则表达式^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
      3.2. kind 是集成类型,必填且这里固定为 es-exporter
      3.3. spec.instanceSpec.user 是 ElasticSearch 的用户名称,必填
      3.4. spec.instanceSpec.password 是 ElasticSearch 的密码,必填
      3.5. spec.instanceSpec.url 是 ElasticSearch 的连接地址,必填
      3.6. spec.instanceSpec.labels 用于给指标添加自定义标签,键值对类型,选填
      3.7. spec.exporterSpec.all 表示是否查询集群中所有节点的统计信息,布尔类型,选填,默认值为 false。false 则仅查询连接的节点的统计信息
      3.8. spec.exporterSpec.indices 表示是否查询集群中所有索引的统计信息,布尔类型,选填,默认值为 false
      3.9. spec.exporterSpec.indicesSettings 表示是否查询集群中所有索引配置的统计信息,布尔类型,选填,默认值为 false
      3.10. spec.exporterSpec.shards 表示是否查询集群中所有索引的统计信息,包括分片级别的统计信息,布尔类型,选填,默认值为 false。
      3.11. spec.exporterSpec.snapshots 表示是否查询集群快照的统计信息,布尔类型,选填,默认值为 false
      3.12. spec.exporterSpec.clusterSettings 表示是否查询集群配置的统计信息,布尔类型,选填,默认值为false

    输入示例

    POST / HTTP/1.1
    Host: monitor.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateExporterIntegration
    <公共请求参数>
    
    {
        "InstanceId": "prom-1",
        "Kind": "es-exporter",
        "Content": "{\"name\":\"es-test\",\"kind\":\"es-exporter\",\"spec\":{\"instanceSpec\":{\"user\":\"root\",\"password\":\"password\",\"url\":\"http://127.0.0.1:8080\",\"labels\":{\"labelKey\":\"labelValue\",\"test\":\"test\"}},\"exporterSpec\":{\"all\":true,\"indices\":true,\"indicesSettings\":true,\"shards\":true,\"snapshots\":true,\"clusterSettings\":true}}}"
    }

    输出示例

    {
        "Response": {
            "Names": [
                "es-test"
            ],
            "RequestId": "xyz"
        }
    }

    示例16 s. 创建 免鉴权代理 集成

    安装 免鉴权代理,可以免鉴权内网访问 Prometheus 原生 API。
    创建后可以调用 DescribeExporterIntegrations 接口,通过 InstanceDesc 参数获取集成的内网 IP:Port 地址,该地址可以代替 Prometheus 实例地址,实现免鉴权访问。
    参数说明:

    1. InstanceId 是 Prometheus 实例 ID,必填
    2. Kind 参数固定为 auth-proxy,必填
    3. Content 参数格式如示例。说明如下:
      3.1. name 是集成名,必填且全局唯一,需要符合正则表达式^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
      3.2. kind 是集成类型,必填且这里固定为 auth-proxy
      3.3. spec.instanceSpec.enableSelfMonitor 表示是否采集自监控指标,选填,默认是 false。自监控指标是 auth_proxy_http_requests_total{result=~"success|error"},仅统计成功和失败的请求数量。

    输入示例

    POST / HTTP/1.1
    Host: monitor.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateExporterIntegration
    <公共请求参数>
    
    {
        "InstanceId": "prom-1",
        "Kind": "auth-proxy",
        "Content": "{\"name\":\"auth-test\",\"kind\":\"auth-proxy\",\"spec\":{\"instanceSpec\":{\"enableSelfMonitor\":true}}}"
    }

    输出示例

    {
        "Response": {
            "Names": [
                "auth-test"
            ],
            "RequestId": "xyz"
        }
    }

    示例17 c. 创建 CVM 云服务器 集成

    参数说明:

    1. InstanceId 是 Prometheus 实例 ID,必填
    2. Kind 参数固定为 cvm-http-sd-exporter,必填
    3. Content 参数格式如示例。说明如下:
      3.1. kind 是集成类型,必填且这里固定为 cvm-http-sd-exporter
      3.2. spec.job 是抓取配置,必填,yaml格式,具体配置可参考抓取配置说明

    输入示例

    POST / HTTP/1.1
    Host: monitor.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateExporterIntegration
    <公共请求参数>
    
    {
        "InstanceId": "prom-1",
        "Kind": "cvm-http-sd-exporter",
        "Content": "{\"kind\":\"cvm-http-sd-exporter\",\"spec\":{\"job\":\"job_name: example-job-name\\nmetrics_path: /metrics\\ncvm_sd_configs:\\n- region: ap-singapore\\n  ports:\\n  - 9100\\n  filters:         \\n  - name: tag:示例标签键\\n    values: \\n    - 示例标签值\\nrelabel_configs: \\n- source_labels: [__meta_cvm_instance_state]\\n  regex: RUNNING\\n  action: keep\\n- regex: __meta_cvm_tag_(.*)\\n  replacement: $1\\n  action: labelmap\\n- source_labels: [__meta_cvm_region]\\n  target_label: region\\n  action: replace\"}}"
    }

    输出示例

    {
        "Response": {
            "Names": [
                "example-job-name"
            ],
            "RequestId": "xyz"
        }
    }

    示例18 b. 创建 CVM Node Exporter 集成

    该集成要保证 CVM 实例与 Prometheus 实例内网相通(比如同 VPC 下),且 CVM 实例安装了自动化助手
    参数说明:

    1. InstanceId 是 Prometheus 实例 ID,必填
    2. Kind 参数固定为 cvm-node-exporter-sd,必填
    3. Content 参数格式如示例。说明如下:
      3.1. kind 是集成类型,必填且这里固定为 `cvm-node-exporter-sd
      3.2. spec.job 是抓取配置,必填,yaml格式,可参考输入示例,其中 instance_ids 可填写多个 CVM 实例 ID

    输入示例

    POST / HTTP/1.1
    Host: monitor.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateExporterIntegration
    <公共请求参数>
    
    {
        "InstanceId": "prom-1",
        "Kind": "cvm-node-exporter-sd",
        "Content": "{\"kind\":\"cvm-node-exporter-sd\",\"spec\":{\"job\":\"job_name: node-test\\ninstance:\\n  - region: ap-chengdu\\n    instance_ids:\\n      - ins-a\\n      - ins-b\\n\"}}"
    }

    输出示例

    {
        "Response": {
            "Names": [
                "node-test"
            ],
            "RequestId": "xyz"
        }
    }

    示例19 e. 创建 Ingress NGINX Controller 集成

    采集关联集群中的 Ingress NGINX Controller。
    参数说明:

    1. InstanceId 是 Prometheus 实例 ID,必填
    2. Kind 参数固定为 nginx-ingress,必填
    3. ClusterId 是与 Prometheus 实例关联且部署了 Ingress NGINX Controller 的集群 ID,必填
    4. KubeType 是 ClusterId 对应的集群类型,必填。1 表示 tke 集群,2 或 3 表示 eks 集群
    5. Content 参数格式如示例。说明如下:
      5.1. kind 是集成类型,必填且这里固定为 nginx-ingress
      5.2. name 是集成名,必填且全局唯一,需要符合正则表达式^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
      5.3. spec.instanceSpec.namespace 是 Ingress NGINX Controller 所在的 namespace,必填
      5.4. spec.instanceSpec.name 是 Ingress NGINX Controller 的名字,必填。取 Deployment 或 DaemonSet 的名字
      5.5. spec.instanceSpec.workload 是 Ingress NGINX Controller 的集群对象类型,必填,比如 deployment 或者 daemonset

    输入示例

    POST / HTTP/1.1
    Host: monitor.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateExporterIntegration
    <公共请求参数>
    
    {
        "InstanceId": "prom-1",
        "ClusterId": "cls-test",
        "KubeType": 1,
        "Kind": "nginx-ingress",
        "Content": "{\"kind\":\"nginx-ingress\",\"name\":\"ingress-test\",\"spec\":{\"instanceSpec\":{\"namespace\":\"namespace\",\"name\":\"controller-name\",\"workLoad\":\"deployment\"}}}"
    }

    输出示例

    {
        "Response": {
            "Names": [
                "ingress-test"
            ],
            "RequestId": "xyz"
        }
    }

    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 请求未授权。请参考 CAM 文档对鉴权的说明。
    FailedOperation 操作失败。
    FailedOperation.AccessTKEFail 访问用户TKE集群失败。
    FailedOperation.ClusterNotFound 集群不存在。
    FailedOperation.DbQueryFailed 数据库查询失败。
    FailedOperation.InstanceNotRunning 实例没有运行。
    FailedOperation.ResourceExist 资源已经存在。
    FailedOperation.ResourceNotFound 资源不存在。
    FailedOperation.ResourceOperating 资源正在被操作。
    FailedOperation.TKEResourceConflict 更新TKE资源时出现冲突。
    InternalError 内部错误。