Skip to content

shitoumomo/tencentcloud-exporter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

腾讯云监控 Exporter v2

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

一、支持的产品列表

产品 命名空间 支持的指标
MongoDB QCE/CMONGO 指标详情
CDB QCE/CDB 指标详情
Redis标准版 QCE/REDIS 指标详情
Redis集群版 QCE/REDIS_CLUSTER 指标详情
Redis内存版监控指标 QCE/REDIS_MEM 指标详情
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 指标详情
云硬盘 QCE/CBS 指标详情
SqlServer QCE/SQLSERVER 指标详情
后续会有更多的产品支持

二、快速开始

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
    relod_interval_minutes: 60                   // 可选, 在all_instances=true时, 周期reload实例列表, 建议频率不要太频繁


// 单个指标纬度配置, 每个指标一个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"
  1. 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

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 99.6%
  • Makefile 0.4%