通过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 | 指标详情 |
后续会有更多的产品支持 |
git clone https://github.com/tencentyun/tencentcloud-exporter.git
go build cmd/qcloud-exporter/qcloud_exporter.go
或从release列表获取预编译的二进制, 目前只提供linux-amd64
- 配置云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导出
> qcloud_exporter --config.file "qcloud.yml"
访问 http://127.0.0.1:9123/metrics 查看所有导出的指标
在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
特殊说明:
- custom_query_dimensions
每个实例的纬度字段信息, 可从对应的云监控产品指标文档查询, 如mongo支持的纬度字段信息可由云监控指标详情 查询 - extra_labels
每个导出metric的labels还额外上报实例对应的字段信息, 实例可选的字段列表可从对应产品文档查询, 如mongo实例支持的字段可从实例查询api文档 获取, 目前只支持str、int类型的字段 - period_seconds
每个指标支持的时间纬度统计, 一般支持60、300秒等, 具体可由对应产品的云监控产品指标文档查询, 如mongo可由指标元数据查询 , 假如不配置, 使用默认值(60), 假如该指标不支持60, 则自动使用该指标支持的最小值 - credential
SecretId、SecretKey、Region可由环境变量获取
export TENCENTCLOUD_SECRET_ID="YOUR_ACCESS_KEY"
export TENCENTCLOUD_SECRET_KEY="YOUR_ACCESS_SECRET"
export TENCENTCLOUD_REGION="REGION"
- region
地域可选值参考地域可选值
命令行参数 | 说明 | 默认值 |
---|---|---|
--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 |
在git的configs里有支持产品的配置模版样例