Skip to content

Configuration Manual for the "Huawei Cloud-RDS-MySQL" 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 for this collector is as follows:

Configuration One (Recommended)

Field Type Required Description
regions list Required List of regions to be collected
regions[#] str Required Region ID. For example: 'cn-north-4'
See appendix for full table

The collector will automatically retrieve all IAM projects under the region, then obtain resources based on the IAM projects

Configuration Two (Legacy Compatibility)

Field Type Required Description
region_projects dict Required List of 'Region - Project ID' pairs for data collection
region_projects[#] str:list Required Key-value pairs where:
Key represents the region (e.g., 'cn-north-4')
Value represents a list of project IDs to be collected in that region
See appendix for full table

2. Configuration Examples

Specifying Regions

Collecting RDS-MySQL instance data corresponding to projects in the cn-north-4 region

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

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: Target resource should be collected.

  • False: Target resource should not be collected.

Supported object attributes for filtering:

Attribute Description
id Instance ID
port Instance Port
engine Instance Engine
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 to filter objects based on their id and name attributes. Configuration format is as follows:
def filter_instance(instance):
    '''
    Collect instances with instance_id 'xxxx' or instance_name 'xxxx'
    '''
    # return True
    instance_id = instance['id']
    instance_name = instance['instance_name']
    if instance_id in ['xxxx'] and instance_name in ['xxxx']:
        return True
    return False


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


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

3. Data Reporting Format

After successful data synchronization, you can view the data 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
31
32
33
34
35
36
{
  "measurement": "huaweicloud_rds",
  "tags": {
    "RegionId"               : "cn-north-4",
    "project_id"             : "c631f046252dxxxxxxxf253c62d48585",
    "enterprise_project_id"  : "0",
    "name"                   : "1d0c91561f4644daxxxxx68304b0520din01",
    "instance_id"            : "1d0c91561f4644dxxxxxxd68304b0520din01",
    "instance_name"          : "rds-df54-xxxx",
    "status"                 : "ACTIVE",
    "type"                   : "Single",
    "engine"                 : "MySQL"
  },
  "fields": {
    "security_group_id"      : "d13ebb59-d4fe-xxxx-xxxx-c22bcea6f987",
    "switch_strategy"        : "xxx",
    "time_zone"              : "UTC+08:00",
    "enable_ssl"             : "False",
    "charge_info.charge_mode": "postPaid",
    "engine_version"         : "5.7",
    "port"                   : "3306",
    "created_time"           : "2022-06-21T06:17:27+0000",
    "updated_time"           : "2022-06-21T06:20:03+0000",
    "alias"                  : "xxx",
    "private_ips"            : "[\"192.xxx.x.144\"]",
    "public_ips"             : "[]",
    "datastore"              : "{database information}",
    "cpu"                    : "2",
    "mem"                    : "4",
    "volume"                 : "{volume information}",
    "nodes"                  : "[{primary-secondary instance information}]",
    "related_instance"       : "[]",
    "backup_strategy"        : "{backup strategy}",
    "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 serialized JSON strings

  • fields.message
  • fields.private_ips
  • fields.public_ips
  • fields.volume
  • fields.nodes
  • fields.related_instance
  • fields.backup_strategy

Type values can be Single, Ha, Replica, or Enterprise, corresponding respectively to single-instance, primary-secondary instance, read-only instance, and distributed instance (Enterprise Edition)

X. Appendix

Huawei Cloud RDS-MySQL "Region ID"

Refer to the official Huawei Cloud documentation: