下采样索引 API
编辑下采样索引 API编辑
聚合时间序列 (TSDS) 索引,并存储按配置的时间间隔分组的每个指标字段的预先计算的统计汇总(min
、max
、sum
、value_count
和 avg
)。例如,包含每 10 秒采样一次指标的 TSDS 索引可以下采样为每小时索引。一小时间隔内的所有文档都将汇总并存储为下采样索引中的单个文档。
response = client.indices.downsample( index: 'my-time-series-index', target_index: 'my-downsampled-time-series-index', body: { fixed_interval: '1d' } ) puts response
POST /my-time-series-index/_downsample/my-downsampled-time-series-index { "fixed_interval": "1d" }
请求编辑
POST /<源索引>/_downsample/<输出下采样索引>
先决条件编辑
- 仅支持时间序列数据流中的索引。
- 如果启用了 Elasticsearch 安全功能,则您必须对数据流具有
all
或manage
索引权限。 - 不能在源索引上定义字段和文档级别安全性。
- 源索引必须为只读(
index.blocks.write: true
)。
路径参数编辑
-
<源索引>
- (可选,字符串)要下采样的时间序列索引的名称。
-
<输出下采样索引>
-
(必填,字符串)要创建的索引的名称。
索引名称必须符合以下条件
- 仅限小写
- 不能包含
\
、/
、*
、?
、"
、<
、>
、|
、` `(空格字符)、,
、#
- 7.0 之前的索引可以包含冒号(
:
),但这已被弃用,并且在 7.0+ 中不再受支持 - 不能以
-
、_
、+
开头 - 不能是
.
或..
- 不能超过 255 个字节(请注意,它是字节,因此多字节字符将更快地达到 255 个字节的限制)
- 以
.
开头的名称已被弃用,但隐藏索引和插件管理的内部索引除外
查询参数编辑
-
fixed_interval
-
(必填,时间单位)聚合原始时间序列索引的间隔。例如,
60m
为每个 60 分钟(每小时)间隔生成一个文档。这遵循 Elasticsearch 中其他地方使用的标准时间格式语法。更小、更精细的间隔会占用更多空间。
下采样过程编辑
下采样操作遍历源 TSDS 索引并执行以下步骤
源索引和目标索引字段映射编辑
目标下采样索引中的字段是根据原始源索引中的字段创建的,如下所示
- 使用
time-series-dimension
参数映射的所有字段都在目标下采样索引中创建,其映射与源索引中的映射相同。 - 使用
time_series_metric
参数映射的所有字段都在目标下采样索引中创建,其映射与源索引中的映射相同。例外情况是,对于映射为time_series_metric: gauge
的字段,字段类型将更改为aggregate_metric_double
。 - 所有既不是维度也不是指标的其他字段(即标签字段)都在目标下采样索引中创建,其映射与它们在源索引中的映射相同。
查看下采样文档,了解概述以及手动运行下采样和作为 ILM 策略的一部分运行下采样的示例。