Skip to content

Collector Configuration Manual for "Alibaba Cloud - Elasticsearch"

Before reading this, 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-hangzhou'
See the full table in the appendix

2. Configuration Example

Specify Region

Collect data from Hangzhou region.

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

Configure Filters (Optional)

This collector script supports user-defined filters, allowing users to filter target resources based on 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
bucket_type Instance version
paymentType Payment type of instance
resourceGroupId Resource group ID
serviceVpc Whether it is a service VPC
status Status of the instance
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 attributes, 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 data synchronization, you can view the data in Guance, TrueWatch under "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
{
  "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 instance) value meanings:

Value Description
postpaid Pay-as-you-go
prepaid Annual/Monthly subscription

status (Status of the instance) value meanings:

Value Description
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. fields.message is the string after JSON serialization.

X. Appendix

Please refer to the official Alibaba Cloud documentation: