Skip to content

Configuration Manual for the "Volcengine-RocketMQ" Collector

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:

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

2. Configuration Example

Specifying Regions

Collecting data from the Beijing region

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

Configuring Filters (Optional)

This collector script supports user-defined filters that allow 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
InstanceId Instance ID
InstanceName Instance Name
InstanceStatus Instance Status
ZoneId Availability Zone ID
ProjectName Project Name
Version RocketMQ Version
VpcId Private Network ID
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, filter by InstanceId and name properties, configuration format as follows:
def filter_instance(instance):
    '''
    Collect instances where instance_id is xxxxx or instance_name is xxxxx
    '''
    # return True
    instance_id = instance['InstanceId']
    instance_name = instance['name']
    if instance_id in ['xxxxx'] or instance_name in ['xxxxx']:
        return True
    return False


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


@DFF.API('Volcengine-RocketMQ Collection', timeout=3600, fixed_crontab='*/15 * * * *')
def run():
    Runner(main.DataCollector(account, collector_configs, filters=[filter_instance])).run()

3. Data Reporting Format

After the data has been synchronized successfully, it 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
27
28
29
30
31
{
  "measurement": "volcengine_rocketmq",
  "tags": {
    "InstanceId": "rbtmq-29243xxxxxxxx",
    "ComputeSpec": "rocketmq.n1.x2.medium",
    "ChargeDetail_ChargeType": "PostPaid",
    "InstanceName": "xxxxxx",
    "InstanceStatus": "Running",
    "ProjectName": "default",
    "RegionId": "cn-beijing",
    "SubnetId": "subnet-rs611z3zxxxxxxx",
    "Version": "3.8.18",
    "StorageType": "flexPL",
    "VpcId": "vpc-13fw9sis8nvnk3xxxxxx",
    "ZoneId": "cn-beijing-a",
    "EipId": "xxx",
    "name": "rbtmq-29243xxxxxxxx"
  },
  "fields": {
    "InstanceDescription": "xxx",
    "AvailableQueueNumber": 3944,
    "CreateTime": "2024-03-11T14:01:05Z",
    "FileReservedTime": 0,
    "StorageSpace": 100,
    "UsedStorageSpace": 2,
    "UsedGroupNumber": 1,
    "UsedTopicNumber": 1,
    "Tags": "{instance tags}",
    "message": "{instance JSON data}"
  }
}

Fields in tags and fields may change with future updates

The value of tags.name is the instance ID, used as a unique identifier. fields.message and fields.Tags are both strings after JSON serialization.

X. Appendix

Please refer to the official Volcengine documentation: