harryge00 / tencentcloud-exporter

TencentCloud Prometheus Exporter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

腾讯云监控 Exporter v2

通过qcloud exporter将云监控支持的产品监控指标自动批量导出
(兼容v1版本)

一、支持的产品列表

产品 命名空间 支持的指标
MongoDB QCE/CMONGO 指标详情
CDB QCE/CDB 指标详情
Redis标准版 QCE/REDIS 指标详情
Redis集群版 QCE/REDIS 指标详情
CVM QCE/CVM 指标详情
COS QCE/COS 指标详情
CDN QCE/CDN 指标详情
CLB(公网) QCE/LB_PUBLIC 指标详情
CLB(7层) QCE/LOADBALANCE 指标详情
NAT QCE/NAT_GATEWAY 指标详情
物理专线 QCE/DC 指标详情
专用通道 QCE/DCX 指标详情

后续会有更多的产品支持

二、快速开始

1.构建

git clone https://github.com/tencentyun/tencentcloud-exporter.git
go build cmd/qcloud-exporter/qcloud_exporter.go

或从release列表获取预编译的二进制, 目前只提供linux-amd64

2. 定义产品实例配置

  • 配置云API的credential认证信息
  • 配置产品products指标、实例导出信息

如导出MongoDB所有指标所有实例

credential:
  access_key: "access_key"            // 云API的SecretId
  secret_key: "secret_key"            // 云API的SecretKey
  region: "ap-guangzhou"              // 实例所在区域信息

products:
  - namespace: QCE/CMONGO             // 产品命名空间
    all_metrics: true                 // 导出支持的所有指标
    all_instances: true               // 导出region下的所有实例
    extra_labels: [InstanceName,Zone] // 将实例的字段作为指标的lables导出

3. 启动 Exporter

> qcloud_exporter --config.file "qcloud.yml"

访问 http://127.0.0.1:9123/metrics 查看所有导出的指标

三、qcloud.yml配置详情

在git的configs里有支持产品的配置模版样例可参考

credential:
  access_key: <YOUR_ACCESS_KEY>                  // 必须, 云API的SecretId
  access_secret: <YOUR_ACCESS_SECRET>            // 必须, 云API的SecretKey
  region: <REGION>                               // 必须, 实例所在区域信息

rate_limit: 15                                   // 腾讯云监控拉取指标数据限制, 官方默认限制最大20qps 


// 整个产品纬度配置, 每个产品一个item                                              
products:
  - namespace: QCE/CMONGO                        // 必须, 产品命名空间; QCE前缀可自定义,CMONGO产品名不区分大小写, 可用别名
    all_metrics: true                            // 常用, 推荐开启, 导出支持的所有指标 
    all_instances: true                          // 常用, 推荐开启, 导出该region下的所有实例 
    extra_labels: [InstanceName,Zone]            // 可选, 将实例的字段作为指标的lables导出
    only_include_metrics: [Inserts]              // 可选, 只导出这些指标, 配置时all_metrics失效
    exclude_metrics: [Reads]                     // 可选, 不导出这些指标
    instance_filters:                            // 可选, 在all_instances开启情况下, 根据每个实例的字段进行过滤
      - ProjectId: 1
        Status: 1                        
    only_include_instances: [cmgo-xxxxxxxx]      // 可选, 只导出这些实例id, 配置时all_instances失效
    exclude_instances: [cmgo-xxxxxxxx]           // 可选, 不导出这些实例id
    custom_query_dimensions:                     // 可选, 不常用, 自定义指标查询条件, 配置时all_instances,only_include_instances,exclude_instances失效, 用于不支持按实例纬度查询的指标
     - target: cmgo-xxxxxxxx
    statistics_types: [avg]                      // 可选, 拉取N个数据点, 再进行max、min、avg、last计算, 默认last取最新值
    period_seconds: 60                           // 可选, 指标统计周期, 默认自动获取指标支持的最小统计周期
    range_seconds: 300                           // 可选, 选取时间范围, 开始时间=now-range_seconds, 结束时间=now
    delay_seconds: 60                            // 可选, 时间偏移量, 结束时间=now-delay_seconds
    metric_name_type: 1                          // 可选,导出指标的名字格式化类型, 1=大写转小写加下划线, 2=转小写; 默认2


// 单个指标纬度配置, 每个指标一个item
metrics:
  - tc_namespace: QCE/CMONGO                     // 产品命名空间, 同namespace       
    tc_metric_name: Inserts                      // 云监控定义的指标名
    tc_metric_rename: Inserts                    // 导出指标的显示名
    tc_metric_name_type: 1                       // 可选,导出指标的名字格式化类型, 1=大写转小写加下划线, 2=转小写; 默认1
    tc_labels: [InstanceName]                    // 可选, 将实例的字段作为指标的lables导出
    tc_filters:                                  // 可选, 根据每个实例的字段进行过滤, 否则默认导出region下所有实例
      - ProjectId: 1
        Status: 1                             
    tc_myself_dimensions:                        // 可选, 同custom_query_dimensions
    tc_statistics: [Avg]                         // 可选, 同statistics_types
    period_seconds: 60                           // 可选, 同period_seconds
    range_seconds: 300                           // 可选, 同range_seconds
    delay_seconds: 60                            // 可选, 同delay_seconds

特殊说明:

  1. custom_query_dimensions
    每个实例的纬度字段信息, 可从对应的云监控产品指标文档查询, 如mongo支持的纬度字段信息可由云监控指标详情 查询
  2. extra_labels
    每个导出metric的labels还额外上报实例对应的字段信息, 实例可选的字段列表可从对应产品文档查询, 如mongo实例支持的字段可从实例查询api文档 获取, 目前只支持str、int类型的字段
  3. period_seconds
    每个指标支持的时间纬度统计, 一般支持60、300秒等, 具体可由对应产品的云监控产品指标文档查询, 如mongo可由指标元数据查询 , 假如不配置, 使用默认值(60), 假如该指标不支持60, 则自动使用该指标支持的最小值
  4. credential
    SecretId、SecretKey、Region可由环境变量获取
export TENCENTCLOUD_SECRET_ID="YOUR_ACCESS_KEY"
export TENCENTCLOUD_SECRET_KEY="YOUR_ACCESS_SECRET"
export TENCENTCLOUD_REGION="REGION"

四、qcloud_exporter支持的命令行参数说明

命令行参数 说明 默认值
--web.listen-address http服务的端口 9123
--web.telemetry-path http访问的路径 /metrics
--web.enable-exporter-metrics 是否开启服务自身的指标导出, promhttp_*, process_*, go_* false
--web.max-requests 最大同时抓取/metrics并发数, 0=disable 0
--config.file 产品实例指标配置文件位置 qcloud.yml
--log.level 日志级别 info

五、qcloud.yml样例

在git的configs里有支持产品的配置模版样例

About

TencentCloud Prometheus Exporter


Languages

Language:Go 100.0%