Skip to content

Configuration Manual for Collector "Huawei Cloud-RDS-SQLServer"

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:

Configuration One (Recommended)

Field Type Required Description
regions list Required List of regions to collect data from
regions[#] str Required Region ID. For example: 'cn-north-4'
Refer to the appendix for a complete list

The collector will automatically fetch all IAM projects under the region and then retrieve resources based on 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 pair where:
Key represents the region (for example: 'cn-north-4')
Value represents the list of project IDs to be collected in that region
Refer to the appendix for a complete list

2. Configuration Example

Specify Region

Collect RDS-SQLServer instance data corresponding to the cn-north-4 region.

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

Configure Filter (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 should be collected.
  • False: The target resource should not be collected.

Supported object properties:

Property 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 filtering based on object's id and name attributes; configuration format is as follows:
def filter_instance(instance):
    '''
    Collect instances with 'xxxx' instance_id or 'xxxx' instance_name
    '''
    # 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-SQLServer Collection', timeout=3600, fixed_crontab='*/15 * * * *')
def run():
    Runner(main.DataCollector(account, collector_configs, filters=[filter_instance])).run()

3. Data Reporting Format

After data synchronization is successful, you can view the data in the {{( brand_name )}} 'Infrastructure - Resource Catalog'.

An example of 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
37
{
  "measurement": "huaweicloud_rds_sqlserver",
  "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"                 : "SQLServer",
  },
  "fields": {
    "status"                 : "ACTIVE",
    "port"                   : "1433",
    "security_group_id"      : "d13ebb59-d4fe-xxxx-xxxx-c22bcea6f987",
    "switch_strategy"        : "xxx",
    "time_zone"              : "China Standard Time",
    "enable_ssl"             : "True",
    "charge_info.charge_mode": "postPaid",
    "engine_version"         : "2022_WEB",
    "created_time"           : "2022-06-21T06:17:27+0000",
    "updated_time"           : "2022-06-21T06:20:03+0000",
    "alias"                  : "xxx",
    "private_ips"            : "[\"192.xxx.0.108\"]",
    "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 include Single, Ha, Replica, Enterprise, corresponding to single-instance, primary-secondary instance, read-only instance, distributed instance (Enterprise Edition).

X. Appendix

Huawei Cloud RDS-SQLServer "Region ID"

Please refer to the official Huawei Cloud documentation: