Skip to content

Collector 'Alibaba Cloud-elasticsearch' Configuration Manual

Before reading this document, please read:

Tip

Before using this collector, you must install the "Integration Core Package" and its accompanying third-party dependencies.

1. Configuration Structure

The configuration structure of this collector is as follows:

Field Type Required Description
regions list Required List of regions to be collected
regions[#] str Required Region ID. For example: 'cn-hangzhou'
See appendix for the complete list

2. Configuration Examples

Specify Region

Collect data from the Hangzhou region

collector_configs = {
    'regions': [ 'cn-hangzhou' ]
}

Configure Filter (Optional)

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

Supported object attributes for filtering:

Attribute Description
instanceId Instance ID
bucket_type Instance version
paymentType Instance payment type
resourceGroupId Resource group ID
serviceVpc Whether it is a service VPC
status Instance status
# Example: Enable filter and filter based on instanceId and paymentType attributes, the configuration format is 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 integration_core__runner import Runner
import integration_alibabacloud_elasticsearch__main as main

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

3. Data Reporting Format

After data is synchronized normally, you can view the data in the "Infrastructure - Resource Catalog" of TrueWatch.

An example of reported data is as follows:

{
  "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}"
  }
}

Partial parameter descriptions:

paymentType (Instance payment type) values:

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

status (Instance status) values:

Value Description
active Normal
activating Activating
inactive Frozen
invalid Invalid
Note

Tags and fields may change with subsequent updates.

Tip

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

X. Appendix

Please refer to the official Alibaba Cloud documentation: