Skip to content

Configuration Manual for the "Tencent Cloud-CDB" Collector

Before reading this, please first read:

Before using this collector, you must install the 'Integration Core Package' and its associated third-party dependency packages

1. Configuration Structure

The configuration structure of this collector is as follows:

Field Type Required Description
regions list Required List of regions to collect data from
regions[#] str Required Region ID. For example: 'ap-shanghai'
See the full list in the appendix

2. Configuration Example

Specifying Regions

Collect data from Shanghai and Guangzhou regions

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

Configuring Filters (Optional)

This collector script supports user-defined filters, allowing users to filter target resources by object attributes. The filter function returns True or False.

  • True: The target resource needs to be collected.
  • False: The target resource does not need to be collected.

Supported object properties for filtering:

Property Description
name Instance ID
InstanceId Instance ID
InstanceName Instance name
InstanceType Instance type
Zone Instance availability zone
ZoneName Instance availability zone name
DeviceType Instance machine type
EngineVersion Instance engine type
Vip IP address
Status Instance status
ProtectMode Data replication mode
ProjectId Project ID
PayType Payment type
WanStatus External port number
Python
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
# Example: Enable filters, filter based on the InstanceId and name properties of the object, with the following configuration:
def filter_instance(instance):
    '''
    Collect instances where instance_id is cdb-xxxx and instance_name is 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. Data Reporting Format

After the data is synchronized successfully, it can be viewed in the "Infrastructure - Resource Catalog" section of {{( brand_name }}}.

An example of the reported data is as follows:

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 data of the instance}"
  }
}

Descriptions of some parameters are as follows:

Field Type Description
ProtectMode str Data replication method.
0 - Asynchronous replication
1 - Semi-synchronous replication
2 - Strong synchronous replication
InstanceType str Instance type, possible return values:
1 - Primary instance
2 - Disaster recovery instance
3 - Read-only instance
PayType str Payment type, possible return values:
0 - Prepaid
1 - Pay-as-you-go
ProjectId str Project ID
Status str Instance status, possible return values:
0 - Creating
1 - Running
4 - Isolating
5 - Isolated
WanStatus str External network status, possible return values:
0 - External network not enabled
1 - External network enabled
2 - External network closed

The fields in tags and fields may change with subsequent updates

The value of tags.name is the instance ID, used as a unique identifier, and fields.message is the string after JSON serialization

X. Appendix

Refer to the official Tencent Cloud documentation: