Skip to content

Collector Configuration Manual for "Volcengine-NAS"

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'
See the full table in the appendix

2. Configuration Examples

Specify Region

Collect data from Beijing region

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

Configure 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: The target resource needs to be collected.
  • False: The target resource does not need to be collected.

Supported object attributes for filtering:

Attribute Description
FileSystemId File system ID
FileSystemName File system name
FileSystemType File system type
Extreme: NAS Extreme Type;
Capacity: NAS Capacity Type;
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 FileSystemId property of the object, with the following configuration format:
def filter_instance(instance):
    '''
    Collect instances where FileSystemId is xxxxx
    '''
    # return True
    file_sys_id = instance['FileSystemId']
    if file_sys_id in ['xxxxx']:
        return True
    return False

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

@DFF.API('Volcengine-NAS 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 "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
{
  "measurement": "volcengine_nas",
  "tags": {
    "RegionId"      : "cn-beijing",
    "ProjectName"   : "default",
    "AccountId"     : "205465415",
    "FileSystemId"  : "enas-xxx",
    "FileSystemName": "enas-test",
    "FileSystemType": "Extreme",
    "Status"        : "Running",
    "name"          : "enas-xxx"
  },
  "fields": {
    "ZoneId"        : " cn-beijing-a",
    "Capacity"      : "{capacity information}",
    "StorageType"   : "Standard",
    "ChargeType"    : "PayAsYouGo",
    "Description"   : "test",
    "CreateTime"    : "2023-03-13T10:00:14+08:00",
    "UpdateTime"    : "2023-04-13T16:34:44+08:00",
    "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 all strings serialized in JSON format

  • fields.message
  • fields.Capacity
  • fields.Tags

X. Appendix

Please refer to the official Volcengine documentation: