Skip to content

Configuration Manual for the "Alibaba Cloud-elasticsearch" Collector

Before reading this article, please 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
regions list Required List of regions to collect data from
regions[#] str Required Region ID. Example: 'cn-hangzhou'
Refer to appendix for complete list

2. Configuration Examples

Specifying Regions

Collect data from Hangzhou region

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

Configuring Filters (Optional)

This collector script supports user-defined filters, allowing users to filter target resources based on object attributes. The filter function returns True|False - True: The target resource needs to be collected. - False: The target resource does not need to be collected.

Supported object properties for filtering:

Property Description
instanceId Instance ID
bucket_type Instance version
paymentType Payment type of the instance
resourceGroupId Resource Group ID
serviceVpc Whether it is a service VPC
status Instance status
Python
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
# Example: Enable filters, filter by instanceId and paymentType properties, configuration format as follows:

def filter_instance(instance):
    '''
    return True|False
    '''
    instance_id = instance['instanceId']
    payment_type = instance['paymentType']
    if instance_id in ['xxx'] and payment_type in ['postpaid']:
        return True
    return False

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

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

3. Data Reporting Format

After the data is synchronized successfully, you can view the data in the "Infrastructure - Resource Catalog" section of {{( brand_name }}}.

An example of the reported data is as follows:

JSON
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
{
  "measurement": "aliyun_elasticsearch",
  "tags": {
    "RegionId"       : "cn-hangzhou",
    "esVersion"      : "7.4.0_with_X-Pack",
    "instanceId"     : "es-cn-xxxx",
    "name"           : "es-cn-xxxx",
    "paymentType"    : "prepaid",
    "resourceGroupId": "rg-acfm2l3p7xxxx",
    "serviceVpc"     : "True",
    "status"         : "active"
  },
  "fields": {
    "advancedDedicateMaster": false,
    "createdAt"             : "2021-04-07T06:10:50.527Z",
    "extendConfigs"         : "[ {Cluster extension parameter configuration JSON data}, ...]",
    "message"               : "{Instance JSON data}"
  }
}

Explanation of some parameters:

paymentType (Payment type of the instance) values and their meanings:

Value Explanation
postpaid Pay-as-you-go
prepaid Subscription

status (Instance status) values and their meanings:

Value Explanation
active Normal
activating Activating
inactive Frozen
invalid Invalid

Fields in tags and fields may change with subsequent updates

The value of tags.name is the instance ID, used as a unique identifier, and fields.message is a JSON serialized string

X. Appendix

Please refer to the official Alibaba Cloud documentation: