Skip to content

Collector Configuration Manual for "Huawei Cloud - NAT"

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:

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 the full list

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 to collect data from
region_projects[#] str:list Required Key-value pairs where:
Key represents the region (e.g., 'cn-north-4')
Value represents the list of project IDs to be collected in that region
Refer to the appendix for the full list

2. Configuration Example

Specifying Regions

Collecting NAT instance data for projects corresponding to 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 properties. The filter function returns True|False. - True: The target resource should be collected. - False: The target resource should not be collected.

Supported object properties for filtering:

Property Description
instance_name Instance Name
instance_id Instance ID
status Gateway Status
Python
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
# Example: Enable the filter, filter by the id attribute of the object, configure as follows:

def filter_instance(instance):
    '''
    return True|False
    '''
    # return True
    instance_id = instance['id']
    if instance_id in ['xxx']:
        return True
    return False

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

def run():
    Runner(main.DataCollector(account, collector_configs, filters=[filter_instance])).run()

3. Data Reporting Format

After the data is synchronized normally, it 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
21
22
23
{
  "measurement": "huaweicloud_nat",
  "tags": {
    "RegionId"             : "cn-north-4",
    "project_id"           : "xxx",
    "enterprise_project_id": "0",
    "tenant_id"            : "xxxx",
    "name"               : "a253be25-ae7c-4013-978b-3c0785eccd63",
    "instance_id"          : "a253be25-ae7c-4013-978b-3c0785eccd63",
    "instance_name"        : "wj3-6153",
    "status"               : "x",

  },
  "fields": {
    "router_id"            : "a253be25-ae7c-4013-978b-3c0785eccd63",
    "internal_network_id"  : "xxx",
    "admin_state_up"       : "x",
    "spec"               : "2",
    "created_time"         : "2017-11-17 07:41:07.538062",
    "description"          : "xxxxx",
    "message"              : "{Instance JSON data}"
  }
}

Explanation of some parameters:

The value of spec (the specification of the public NAT gateway instance) has the following meanings:

Value Description
1 Small, maximum SNAT connections 10000
2 Medium, maximum SNAT connections 50000
3 Large, maximum SNAT connections 200000
4 Extra large, maximum SNAT connections 1000000

Fields in tags and fields may change with subsequent updates

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

X. Appendix

Huawei Cloud NAT "Region ID"

Please refer to the official Huawei Cloud documentation: