跳转至

采集器「腾讯云-CDB」配置手册

阅读本文前,请先阅读:

使用本采集器前,必须安装「观测云集成 Core 核心包」及其配套的第三方依赖包

1. 配置结构

本采集器配置结构如下:

字段 类型 是否必须 说明
regions list 必须 所需采集的地域列表
regions[#] str 必须 地域 ID。如:'ap-shanghai'
总表见附录

2. 配置示例

指定地域

采集上海、广州地域的数据

Python
1
2
3
collector_configs = {
    'regions': [ 'ap-shanghai', 'ap-guangzhou' ]
}

配置过滤器(可选项)

本采集器脚本支持用户自定义过滤器,让用户通过对象属性筛选出目标资源。过滤器函数返回值为 True|False

  • True:目标资源需要被采集。

  • False 目标资源不需要被采集

支持筛选的对象属性:

属性 描述
name 实例 ID
InstanceId 实例 ID
InstanceName 实例 name
InstanceType 实例 类型
Zone 实例可用区
ZoneName 实例可用区名称
DeviceType 实例机型
EngineVersion 实例引擎类型
Vip IP 地址
Status 实例状态
ProtectMode 数据复制模式
ProjectId 项目 ID
PayType 付费类型
WanStatus 外网端口号
Python
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
# 示例:开启过滤器,根据对象的 InstanceId 和 name 属性过滤,配置格式如下:
def filter_instance(instance):
    '''
    采集 instance_id 为 cdb-xxxx 并且 instance_name 为 xxx 的实例
    '''
    # return True
    instance_id = instance['InstanceId']
    instance_name = instance['InstanceName']
    if instance_id in ['cdb-xxxx'] and instance_name in ['xxx']:
        return True
    return False


###### Do not modify the following contents #####
from guance_integration__runner import Runner
import guance_tencentcloud_cdb__main as main


@DFF.API('TencentCloud-CDB Collection', timeout=3600, fixed_crontab='*/15 * * * *')
def run():
    Runner(main.DataCollector(account, collector_configs, filters=[filter_instance])).run()

3. 数据上报格式

数据正常同步后,可以在观测云的「基础设施 / 自定义(对象)」中查看数据。

上报的数据示例如下:

JSON
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{
  "measurement": "tencentcloud_cdb",
  "tags": {
    "name"         : "cdb-xxxxxxx",
    "RegionId"     : "ap-shanghai",
    "Region"       : "ap-shanghai",
    "InstanceId"   : "cdb-imxxxx",
    "InstanceName" : "smart_check_test",
    "InstanceType" : "1",
    "Zone"         : "ap-shanghai-3",
    "ZoneName"     : "",
    "DeviceType"   : "UNIVERSAL",
    "EngineVersion": "8.0",
    "Vip"          : "172.xx.x.9",
    "Status"       : "1",
    "ProtectMode"  : "0",
    "ProjectId"    : "0",
    "PayType"      : "1",
    "WanStatus"    : "0"
  },
  "fields": {
    "WanPort"     : 0,
    "Memory"      : 1000,
    "Volume"      : 25,
    "DeadlineTime": "0000-00-00 00:00:00",
    "CreateTime"  : "2022-04-27 15:18:06",
    "message"     : "{实例 JSON 数据}"
  }
}

部分参数说明如下

字段 类型 说明
ProtectMode str 数据复制方式。
0 - 异步复制
1 - 半同步复制
2 - 强同步复制
InstanceType str 实例类型,可能的返回值:
1 - 主实例
2 - 灾备实例
3 - 只读实例
PayType str 付费类型,可能的返回值:
0 - 包年包月
1 - 按量计费
ProjectId str 项目 ID
Status str 实例状态,可能的返回值:
0 - 创建中
1 - 运行中
4 - 隔离中
5 - 已隔离
WanStatus str 外网状态,可能的返回值为:
0 - 未开通外网
1 - 已开通外网
2 - 已关闭外网

tags、fields 中的字段可能会随后续更新有所变动

tags.name 值为实例 ID,作为唯一标识,fields.message 为 JSON 序列化后字符串

X. 附录

请参考腾讯云官方文档: