Skip to content

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

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

2. Configuration Example

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

Configuration Filters (Optional)

This collector script supports user-defined filters, allowing users to filter target resources based on object properties. The filter function returns True|False

  • True: Target resource needs to be collected.

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

Supported object properties for filtering:

Configuration One (Recommended)

Field Type Required Description
regions list Required List of regions to collect data from
regions[#] str Required Region ID. e.g., 'cn-north-4'
Total list see appendix

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

Configuration Two (Old Version Compatibility)

Attribute Description
name Instance ID
description Instance description
id Instance ID
instance_name Instance name
project_id Project ID
operating_status Instance running status
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 by object's id and instance_name properties, with the following configuration format:
def filter_instance(instance):
    '''
    Collect instances where instance_id is 'xxxx' and instance_name is '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_elb__main as main


@DFF.API('HuaweiCloud ELB 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, the data can be viewed in the {{( brand_name )}} 'Infrastructure - Resource Catalog'.

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
{
  "measurement": "huaweicloud_elb",
  "tags": {
    "RegionId"             : "cn-north-4",
    "project_id"           : "c631f046252d4ebdaxxxxxxxxxx",
    "enterprise_project_id": "0",
    "name"                 : "e9cb54b0-63e0-46c5xxxxxxxx",
    "instance_id"          : "e9cb54b0-63e0-46c5xxxxxxxxxx",
    "instance_name"        : "elb-xxxx",

  },
  "fields": {
    "description"          : "",
    "operating_status"     : "ONLINE",
    "created_at"           : "2022-06-22T02:41:57",
    "listeners"            : "{Instance JSON data}",
    "updated_at"           : "2022-06-22T02:41:57",
    "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

Tip

  • fields.message, fields.listeners are strings after JSON serialization.
  • tags.operating_status indicates the operational status of the load balancer. Possible values include ONLINE and FROZEN.

X. Appendix

Please refer to the official Huawei Cloud documentation: