Skip to content

Collector Configuration Manual for "AWS-OpenSearch"

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-north-1'
Full list in the appendix

2. Configuration Examples

Specified Regions

Collecting instance data from Ningxia and Beijing regions.

Python
1
2
3
collector_configs = {
    'regions': [ 'cn-northwest-1', 'cn-north-1' ]
}

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
{
  "measurement": "aws_opensearch",
  "tags": {
    "name"                  : "df-prd-es",
    "EngineVersion"         : "Elasticsearch_7.10",
    "DomainId"              : "5882XXXXX135/df-prd-es",
    "DomainName"            : "df-prd-es",
    "ClusterConfig"         : "{JSON data for instance type and number in the domain}",
    "ServiceSoftwareOptions": "{JSON data for current status of service software}",
    "region"                : "cn-northwest-1",
    "RegionId"              : "cn-northwest-1"
  },
  "fields": {
    "EBSOptions": "{JSON data for elastic block storage options of specified domain}",
    "Endpoints" : "{Mapping JSON data for domain endpoints used to submit indexing and search requests}",
    "message"   : "{Instance JSON data}"
  }
}

Fields in tags and fields may change with subsequent updates.

The value of tags.name corresponds to the instance ID, which serves as a unique identifier.

In this script, the data field corresponding to tags.name is DomainName; when using this script, ensure that there are no duplicate DomainName values across multiple AWS accounts.

tags.ClusterConfig, tags.Endpoint, tags.ServiceSoftwareOptions, fields.message, fields.EBSOptions, and fields.Endpoints are all strings serialized in JSON format.

4. IAM Policy Permissions

If the user collects resources using an IAM role, certain operational permissions must be enabled.

This collector requires the following permissions:

es:ListDomainNames

es:DescribeDomains

X. Appendix

Please refer to the official AWS documentation: