Skip to content

Configuration Manual for Collector 「Tencent Cloud-MariaDB」

Before reading this article, please read the following first:

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'
Refer to the appendix for the full list

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 based on object properties. The filter function returns True or False.

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

Supported object properties for filtering:

Property Description
RegionId Region ID
InstanceId Instance ID
InstanceName Instance Name
ProjectId Project ID
AppId Application ID
Zone Availability Zone
Status Instance Status
Vip Internal IP Address
Vport Internal Port Number
WanDomain External Domain
WanVIP External IP Address
WanPort External Port Number
AutoRenewFlag Auto-renewal Flag
TdsqlVersion TDSQL Version
Uin User ID
Paymode Payment Mode
StatusDesc Status Description
DbEngine Database Engine Type
DbVersion Database Version
InstanceType Instance Type
DbVersionId Database Version ID
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
# Example: Enable filter, filter by InstanceId and name properties, with the following configuration format:
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_mariadb__main as mariadb_main


@DFF.API('TencentCloud-MariaDB Collection', timeout=3600, fixed_crontab='* * * * *')
def run():
    collectors = [
        # mariadb_main.DataCollector(account, collector_configs, filter_instance=filter_instance),
    ]
    Runner(collectors).run()

3. Data Reporting Format

After the data synchronizes successfully, it can be viewed in the 「Infrastructure-Resource Catalog」 section of {{( brand_name }}}.

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
35
36
37
38
39
{
  "measurement": "tencentcloud_mariadb",
  "tags": {
    "AppId": "1311xxx185",
    "AutoRenewFlag" : "0",
    "DbEngine"      : "MariaDB",
    "DbVersion"     : "10.1",
    "DbVersionId"   : "10.1",
    "InstanceId"    : "tdsql-ewqokixxxxxhu",
    "InstanceName"  : "tdsql-ewqoxxxxxxihu",
    "InstanceType"  : "2",
    "Paymode"       : "postpaid",
    "ProjectId"     : "0",
    "RegionId"      : "ap-shanghai",
    "Status"        : "0",
    "StatusDesc"    : "Creating",
    "TdsqlVersion"  : "Based on MariaDB 10.1 design (compatible with Mysql 5.6)",
    "Uin"           : "100xxxx113474",
    "Vip"           : "",
    "Vport"         : "3306",
    "WanDomain"     : "",
    "WanPort"       : "0",
    "WanVip"        : "",
    "Zone"          : "ap-shanghai-5",
    "name"          : "tdsql-ewqokihu",
    "WanVIP"        : ""
  },
  "fields": {
    "Cpu"           : 1,
    "CreateTime"    : "2023-08-17 17:55:03",
    "Memory"        : 2,
    "NodeCount"     : 2,
    "PeriodEndTime" : "0001-01-01 00:00:00",
    "Qps"           : 2100,
    "Storage"       : 10,
    "UpdateTime"    : "2023-08-17 17:55:03",
    "message"       : "{JSON data of instance}"
  }
}

Descriptions of some parameters are as follows:

Field Type Description
Paymode str Payment mode Note: This field may return null, indicating no valid value was retrieved.
StatusDesc str Current running status description of the instance Note: This field may return null, indicating no valid value was retrieved.
NodeCount str Number of nodes, 2 means one master and one slave, 3 means one master and two slaves
Status str Instance status: 0 Creating, 1 In process, 2 Running, 3 Instance not initialized, -1 Instance isolated, 4 Instance initializing, 5 Instance deleting, 6 Instance restarting, 7 Data migration

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 serialized in JSON format

X. Appendix

Please refer to the official Tencent Cloud documentation: