跳转至

采集器「阿里云-elasticsearch」配置手册

阅读本文前,请先阅读:

使用本采集器前,必须安装「观测云集成 Core 核心包」及其配套的第三方依赖包

1. 配置结构

本采集器配置结构如下:

字段 类型 是否必须 说明
regions list 必须 所需采集的地域列表
regions[#] str 必须 地域 ID。如:'cn-hangzhou'
总表见附录

2. 配置示例

指定地域

采集杭州地域的数据

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

配置过滤器(可选项)

本采集器脚本支持用户自定义过滤器,让用户通过对象属性筛选出目标资源。过滤器函数返回值为 True|False - True:目标资源需要被采集。 - False 目标资源不需要被采集

支持筛选的对象属性:

属性 描述
instanceId 实例 ID
bucket_type 实例版本
paymentType 实例的付费类型
resourceGroupId 资源组 ID
serviceVpc 是否为服务 VPC
status 实例的状态
Python
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
# 示例:开启过滤器,根据对象的 instanceId 和 paymentType 属性过滤,配置格式如下:

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. 数据上报格式

数据正常同步后,可以在观测云的「基础设施-自定义对象」中查看数据。

上报的数据示例如下:

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"         : "[ {集群扩展参数配置 JSON 数据}, ...]",
    "message"               : "{实例 JSON 数据}"
  }
}

部分参数说明如下:

paymentType(实例的付费类型)取值含义:

取值 说明
postpaid 按量付费
prepaid 包年包月

status(实例的状态)取值含义:

取值 说明
active 正常
activating 生效中
inactive 冻结
invalid 失效

tags、fields 中的字段可能会随后续更新有所变动

tags.name 值为实例 ID,作为唯一标识,fields.message 为 JSON 序列化后字符串

X. 附录

请参考阿里云官方文档: