Skip to content

Collector Configuration Manual for "Tencent Cloud-TDSQL-C MySQL"

Before reading this, please first read:

Before using this collector, you must install the 'Core Integration 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'
Refer to the appendix for the complete list

2. Configuration Example

Specifying Regions

Collecting 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 that allow users to filter target resources by object properties. The filter function returns a value of True|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
RegionId Instance region ID
Region Instance region
Zone Instance availability zone
ClusterId Cluster ID
ClusterName Cluster name
InstanceId Instance ID
InstanceName Instance name
InstanceType Instance type
InstanceRole Instance role
Status Instance status
StatusDesc Instance status description
DbType Database type
DbMode Database mode
DbVersion Database version
WanIP Public IP address
WanPort Public port number
WanStatus Public connection status
Python
 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
# Example: Enable filters to filter by the InstanceId and name property of the object. Configuration format is as follows:
def filter_instance(instance):
    '''
    return True|False
    '''
    # return True
    instance_id = instance['InstanceId']
    if instance_id in ['cdb-xxxx']:
        return True
    return False


###### Do not modify the following contents #####
from guance_integration__runner import Runner
import guance_tencentcloud_tdsql_c_mysql__main as tdsql_c_mysql_main
import guance_tencentcloud_monitor__main as monitor_main


@DFF.API('TencentCloud-TDSQL-C-MySQL Collection', timeout=3600, fixed_crontab='* * * * *')
def run():
    collectors = [
        tdsql_c_mysql_main.DataCollector(account, collector_configs, filter_instance=filter_instance),
        monitor_main.DataCollector(account, monitor_configs),
    ]
    Runner(collectors).run()

3. Data Reporting Format

After data synchronization is successful, the data can be viewed in the "Infrastructure - Resource Catalog" section of Guance and TrueWatch.

Example of reported data:

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
30
31
32
33
34
{
  "measurement": "tencentcloud_tdsql_c_mysql",
  "tags": {
    "ClusterId"    : "cynosdbmysql-xxxx",
    "ClusterName"  : "cynosdbmysql-xxxx",
    "DbMode"       : "NORMAL",
    "DbType"       : "MYSQL",
    "DbVersion"    : "8.0",
    "InstanceId"   : "cynosdbmysql-ins-xxxx",
    "InstanceName" : "cynosdbmysql-ins-xxxx",
    "InstanceRole" : "ro",
    "InstanceType" : "ro",
    "Region"       : "ap-shanghai",
    "RegionId"     : "ap-shanghai",
    "Status"       : "isolated",
    "StatusDesc"   : "Isolated",
    "WanIP"        : "",
    "WanPort"      : "0",
    "WanStatus"    : "init",
    "Zone"         : "ap-shanghai-2",
    "name"         : "cynosdbmysql-xxxx"
  },
  "fields": {
    "Cpu"           : 1,
    "CreateTime"    : "2023-08-21 11:00:50",
    "IsolateTime"   : "2023-08-21 11:34:55",
    "Memory"        : 1,
    "PayMode"       : 0,
    "PeriodEndTime" : "0001-01-01 00:00:00",
    "Storage"       : 3000,
    "UpdateTime"    : "2023-08-21 11:34:55",
    "message"       : "{JSON data of instance}"
  }
}

Descriptions of some parameters are as follows:

Field Type Description
PayMode str Billing mode.
0-Pay-as-you-go,
1-Yearly/Monthly subscription
Note: This field may return null, indicating no valid value was retrieved.
CreateTime str Cluster creation time
Note: This field may return null, indicating no valid value was retrieved.
PeriodEndTime str End time
Note: This field may return null, indicating no valid value was retrieved.
UpdateTime str Update time

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 a JSON serialized string.

Some fields may not be collected because the data returned by Tencent Cloud's API may not include all fields. Refer to the official Tencent Cloud documentation for details.

X. Appendix

Please refer to the official Tencent Cloud documentation: