Skip to content

Configuration Manual for the "Volcengine-MySQL" Collector

Before reading this article, please first read:

Before using this collector, you must install the 'Integration Core Package' and its corresponding 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: 'cn-beijing'
Refer to the appendix for the complete table

2. Configuration Example

Specify Region

Collect data from the Beijing region.

Python
1
2
3
collector_configs = {
    'regions': [ 'cn-beijing' ]
}

Configure Filters (Optional)

This collector script supports user-defined filters that allow users to filter target resources based on 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 attribute filters:

Attribute Description
InstanceId Instance ID
InstanceName Instance Name
ZoneId Availability Zone ID
ProjectName Associated Project
Python
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
# Example: Enable filters to filter based on the InstanceId and name properties of an object. Configuration format is as follows:
def filter_instance(instance):
    '''
    Collect instances with instance_id xxxxx or instance_name xxxxx
    '''
    # return True
    instance_id = instance['InstanceId']
    instance_name = instance['name']
    if instance_id in ['xxxxx'] or instance_name in ['xxxxx']:
        return True
    return False

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

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

3. Data Reporting Format

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

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
30
{
  "measurement": "volcengine_mysql",
  "tags": {
    "RegionId": "cn-beijing",
    "ZoneId": "cn-beijing-a",
    "ProjectName": "default",
    "InstanceId": "mysql-xxx",
    "InstanceName": "mysql-xxx",
    "InstanceStatus": "Running",
    "name": "mysql-xxx"
  },
  "fields": {
    "StorageType": "LocalSSD",
    "ChargeDetail_ChargeType": "PostPaid",
    "SubnetId": "subnet-xxx",
    "VpcId": "vpc-xxx",
    "InstanceType": "DoubleNode",
    "DBEngineVersion": "MySQL_5_7",
    "LowerCaseTableNames": "1",
    "NodeNumber": "2",
    "StorageSpace": "20",
    "AddressObject": "{Default terminal connection information}",
    "ChargeDetail": "[Payment method]",
    "CreateTime": "2024-03-11T07:26:09.000Z",
    "MaintenanceWindow": "[Maintenance window]",
    "NodeSpec": "rds.mysql.d1.n.1c1g",
    "TimeZone": "UTC +08:00",
    "message": "{Instance JSON data}"
  }
}

Fields in tags and fields may change with subsequent updates

The value of tags.name is the instance ID, used as a unique identifier.

The following fields are strings serialized in JSON format:

  • fields.message
  • fields.AddressObject
  • fields.ChargeDetail
  • fields.MaintenanceWindow

X. Appendix

Refer to the official Volcengine documentation: