Skip to content

Collector Configuration Manual for "Volcengine-ALB"

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:

Field Type Required Description
regions list Required List of regions to collect data from
regions[#] str Required Region ID. Example: 'cn-shanghai'
Refer to the appendix for the full list

2. Configuration Examples

Specify Regions

Collect data from 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 by object properties. 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 property filters:

Property Description
LoadBalancerId Instance ID
LoadBalancerName Instance Name
Type Type of load balancer instance
public: public load balancer;
private: private load balancer;
Python
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
# Example: Enable filter based on the LoadBalancerId property of the object, with the following configuration:
def filter_instance(instance):
    '''
    Collect instances where LoadBalancerId is xxxxx
    '''
    # return True
    lb_id = instance['LoadBalancerId']
    if lb_id in ['xxxxx']:
        return True
    return False

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

@DFF.API('Volcengine-ALB 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 "Infrastructure - Resource Catalog" section of {{( brand_name }}}.

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
24
25
26
{
  "measurement": "volcengine_alb",
  "tags": {
    "RegionId"               : "cn-beijing",
    "ProjectName"            : "default",
    "AccountId"              : "205465415",
    "LoadBalancerId"         : "alb-xxx",
    "LoadBalancerName"       : "alb-test",
    "Type"                   : "public",
    "Status"                 : "Active",
    "name"                   : "alb-xxx"
  },
  "fields": {
    "Listeners"              : "[{Listener}]",
    "VpcId"                  : "vpc-xxx",
    "EniAddress"             : "192.XX.XX.44",
    "EipAddress"             : "10.XX.XX.27",
    "LoadBalancerBillingType": "2",
    "Description"            : "Test instance",
    "CreateTime"             : "2024-03-11T16:37:37Z",
    "UpdateTime"             : "2024-03-11T16:37:37Z",
    "ExpiredTime"            : "2024-03-11T16:37:37Z",
    "Tags"                   : "{Cloud platform tag information}",
    "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.Listeners
  • fields.Tags

X. Appendix

Refer to the official Volcengine documentation: