search
数据采集 采集源配置 阿里云对象采集

阿里云对象采集

简介

调用阿里云ECS/OSS/RDS/SLB 列表API 采集阿里云对象相关数据上报报到 DataFlux 中

前置条件

  • 已安装 DataKit(DataKit 安装文档
  • 需要有阿里云帐号只读权限的 Access Key ID 和 Access Key Secret(为了保证你的数据安全,建议使用子用户授权,请不要使用超过只读权限的 Access Key ID 和 Access Key Secret)

配置

打开 DataKit 采集源配置文件夹(默认路径为 DataKit 安装目录的 conf.d 文件夹),进入 DataKit 安装目录下的 conf.d/aliyun 目录,复制 aliyunobject.conf.sample 并命名为 aliyunobject.conf。示例如下:

设置:

#[[inputs.aliyunobject]]
# ## @param - aliyun authorization informations - string - required
# region_id = ''
# access_key_id = ''
# access_key_secret = ''

# ## @param - collection interval - string - optional - default: 5m
# interval = '5m'


# ##(optional)
#[inputs.aliyunobject.ecs]
    # ##(optional) ignore this object, default is false
    #disable = false
    # ##(optional) pipeline script path
    #pipeline = "aliyun_ecs.p"
    # ##(optional) list of ecs instanceid
    #instanceids = ['']

    # ##(optional) list of excluded ecs instanceid
    #exclude_instanceids = ['']

# ##(optional)
#[inputs.aliyunobject.slb]
    # ##(optional) ignore this object, default is false
    #disable = false
    # ##(optional) pipeline script path

    #pipeline = "aliyun_slb.p"
    # ##(optional) list of slb instanceid
    #instanceids = ['']

    # ##(optional) list of excluded slb instanceid
    #exclude_instanceids = ['']

# ##(optional)
#[inputs.aliyunobject.oss]
    # ##(optional) ignore this object, default is false
    #disable = false
    # ##(optional) pipeline script path
    #pipeline = "aliyun_oss.p"
    # ##(optional) list of oss buckets
    #buckets = []

    # ##(optional) list of excluded oss instanceid
    #exclude_buckets = []

# ##(optional)
#[inputs.aliyunobject.rds]
    # ##(optional) ignore this object, default is false
    #disable = false
    # ##(optional) pipeline script path

    #pipeline = "aliyun_rds.p"
    # ##(optional) list of rds instanceid
    #db_instanceids = []

    # ##(optional) list of excluded rds instanceid
    #exclude_db_instanceids = []

# ##(optional)
#[inputs.aliyunobject.redis]
    # ##(optional) ignore this object, default is false
    #disable = false
    # ##(optional) pipeline script path
    #pipeline = "aliyun_redis.p"
    # ##(optional) list of redis instanceid
    #instanceids = []
    # ##(optional) list of excluded redis instanceid
    #exclude_instanceids = []
    # ## @param - custom tags for redis object - [list of key:value element] - optional


# ##(optional)
#[inputs.aliyunobject.cdn]
    # ##(optional) ignore this object, default is false
    #disable = false
    # ##(optional) pipeline script path
    #pipeline = "aliyun_cdn.p"
    # ##(optional) list of cdn DomainName
    #domainNames = []
    # ##(optional) list of excluded cdn exclude_domainNames
    #exclude_domainNames = []

# ##(optional)
#[inputs.aliyunobject.waf]
    # ##(optional) ignore this object, default is false
    #disable = false
    # ##(optional) pipeline script path
    #pipeline = "aliyun_waf.p"
    # ## @param - custom tags for waf object - [list of key:value element] - optional


# ##(optional)
#[inputs.aliyunobject.elasticsearch]
    # ##(optional) ignore this object, default is false
    #disable = false
    # ##(optional) pipeline script path
    #pipeline = "aliyun_elasticsearch.p"
    # ##(optional) list of elasticsearch instanceid
    #instanceids = []
    # ##(optional) list of excluded elasticsearch instanceid
    #exclude_instanceids = []

# ##(optional)
#[inputs.aliyunobject.influxdb]
    # ##(optional) ignore this object, default is false
    #disable = false
    # ##(optional) pipeline script path
    #pipeline = "aliyun_influxdb.p"

    # ##(optional) list of influxdb instanceid
    #instanceids = []

    # ##(optional) list of excluded influxdb instanceid
    #exclude_instanceids = []

# ##(optional)
#[inputs.aliyunobject.rocketmq]
    # ##(optional) ignore this object, default is false
    #disable = false
    # ##(optional) pipeline script path
    #pipeline = "aliyun_rocketmq.p"

    # ##(optional) list of rocketmq instanceid
    #instanceids = []

    # ##(optional) list of excluded rocketmq instanceid
    #exclude_instanceids = []

# ##(optional)
#[inputs.aliyunobject.domain]
    # ##(optional) ignore this object, default is false
    #disable = false
    # ##(optional) pipeline script path
    #pipeline = "aliyun_domain.p"
    # ##(optional) list of Domain instanceid
    #instanceids = []

    # ##(optional) list of excluded Domain instanceid
    #exclude_instanceids = []

# ##(optional)
#[inputs.aliyunobject.mongodb]
    # ##(optional) ignore this object, default is false
    #disable = false
    # ##(optional) pipeline script path
    #pipeline = "aliyun_mongodb.p"

    # ##(optional) list of mongodb instanceid
    #db_instanceids = []

    # ##(optional) list of excluded mongodb instanceid
    #exclude_db_instanceids = []

注意:数据采集的间隔不宜过小,采集请求过于频繁会导致触发阿里云 API 请求的流控限制。采集频率如果设置为 0 表示不采集该类型的费用数据

由于对象可以通过pipeline提取对应需求的字段,此文档中只介绍官方必有字段值

配置好后,重启 DataKit 即可生效

对象分类--ECS

api: DescribeInstances

字段

FieldKey 描述 类型
name instName(instID) string
class 分类: aliyun_ecs string
message 每个实例对象的详细信息 json string

对象分类--RDS

api: DescribeDBInstances

字段

FieldKey 描述 类型
name dbinstDespt_dbinstID string
class 分类: aliyun_rds string
message 每个实例对象的详细信息 json string

对象分类--OSS

api: GetBucket (ListObjects)

字段

FieldKey 描述 类型
name oss bucket 名称,如 OSS_xxx string
class 分类: aliyun_oss string
message 每个bucket的详细信息 json string

对象分类--SLB

api: DescribeLoadBalancers

字段

FieldKey 描述 类型
name LoadBalancerName_LoadBalancerId string
class 分类: aliyun_slb string
message 每个实例对象的详细信息 json string

对象分类--阿里云 REDIS

api: DescribeLoadBalancers

字段

FieldKey 描述 类型
name InstanceName_InstanceId string
class 分类: aliyun_redis string
message 每个实例对象的详细信息 json string

对象分类--阿里云 WAF

api: DescribeInstanceInfo

字段

FieldKey 描述 类型
name InstanceId string
class 分类: aliyun_waf string
message 每个实例对象的详细信息 json string

对象分类--阿里云 CDN

api: DescribeUserDomains

字段

FieldKey 描述 类型
name DomainName string
class 分类: aliyun_cdn string
message 每个实例对象的详细信息 json string

对象分类--阿里云 Elasticsearch

api: ListInstance

字段

FieldKey 描述 类型
name Description_InstanceId string
class 分类: aliyun_elasticsearch string
message 每个实例对象的详细信息 json string

对象分类--阿里云 InfluxDB

api: DescribeHiTSDBInstanceList

字段

FieldKey 描述 类型
name InstanceAlias_InstanceId string
class 分类: aliyun_influxdb string
message 每个实例对象的详细信息 json string

对象分类--阿里云 RocketMQ

api: OnsInstanceInServiceList

字段

FieldKey 描述 类型
name Description_InstanceId string
class 分类: aliyun_rocketmq string
message 每个实例对象的详细信息 json string

对象分类--阿里云域名

api: QueryDomainList

字段

FieldKey 描述 类型
name Domain_InstanceId string
class 分类: aliyun_domain string
message 每个实例对象的详细信息 json string

对象分类--阿里云 MongoDB

api: DescribeDBInstances

字段

FieldKey 描述 类型
name DBInstanceDescription_DBInstanceId string
class 分类: aliyun_mongodb string
message 每个实例对象的详细信息 json string