本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
数据流管理功能可以实现跨多索引存储,且仅追加时间序列数据,同时为请求提供唯一的命名资源。本文介绍如何创建数据流、查看或删除数据流、滚动更新数据流等。
背景信息
数据流管理功能适用于日志、事件、指标和其他连续生成数据的场景。如果您将索引和请求直接提交到数据流,数据流会自动将请求路由到存储数据流数据的后备索引上。您可以使用索引生命周期管理功能(ILM)来管理后备索引,将旧的后备索引移动到低价的硬件上,并删除不需要的索引,从而帮助您降低成本及开销。
前提条件
已购买阿里云Elasticsearch 7.10日志增强版Indexing Service系列,具体操作请参见创建阿里云Elasticsearch实例。
数据场景为日志、事件、指标或其他持续生成数据的场景。
已创建完可匹配数据流的索引模板。
写入到数据流中的每个文档都要求包含一个@timestamp,映射为date或者date_nanos类型的字段,请确保源端数据存在@timestamp字段数据,否则写入会报错。
说明如果源数据中没有@timestamp字段数据,可使用ingest pipeline指定_ingest.timestamp获取元数据值,从而引入@timestamp字段数据。
使用限制
仅阿里云Elasticsearch 7.10日志增强版Indexing Service实例支持数据流管理功能。
注意事项
Indexing Service按照写入托管索引总大小和写入流量进行按量计费,业务上建议使用数据流(Data Stream)和索引生命周期管理(ILM)滚动策略实现云端托管空间最优化。
Indexing Service托管索引默认3天将自动取消托管,请根据具体业务场景评估取消托管时间,支持在控制台上手动关闭和API关闭。
Indexing Service场景,索引处于托管状态,不兼容ILM Action中的shrink操作,建议当索引处于未托管状态时,执行shrink配置。详细信息,请参见ILM-shrink。
Indexing Service日志增强版实例与用户集群进行数据同步时,依赖于apack/cube/metadata/sync任务(可通过
GET _cat/tasks?v
命令获取该任务信息),不建议手动清理该任务。如果被清理,请尽快使用POST /_cube/meta/sync
命令恢复,否则会影响业务写入。频繁的Put Mapping将消耗大量的计算资源,对托管服务稳定性影响极大。建议您写数据前提前定义索引模板,降低Put Mapping操作。
基本概念
数据流及后备索引
数据流由一个或多个自动生成的后备索引组成,每个数据流都需要一个匹配的索引模板,该模板包含用于配置数据流的后备索引的映射和设置。相同的索引模板可用于多个数据流,但不能删除数据流正在使用的索引模板。
读/写请求处理
当您向数据流提交读取请求时,该数据流会将请求路由到其他所有后备索引上。
当您向数据流提交写请求时,该请求将会落盘在最近创建的后备索引上。数据流只会将新文档添加到此索引上,即使您直接将请求发送到其他后备索引上,也不会将新文档添加到其他后备索引上。
滚动更新Rollover
仅追加
数据流适用于很少有更新的时序场景,不支持将文档的更新或删除请求直接发给数据流,可以通过update by query或者delete by query API进行文档的更新或删除;也可以直接向文档所在的后备索引发送请求,进行文档的update or delete。
创建数据流
- 登录阿里云Elasticsearch控制台。
- 在左侧导航栏,单击Elasticsearch实例。
- 进入目标实例。
- 在顶部菜单栏处,选择资源组和地域。
- 在Elasticsearch实例中单击目标实例ID。
在左侧导航栏,选择 。
单击数据流管理页签。
单击创建数据流。
在创建数据流面板,单击预览已有索引模板,根据对应的索引模板,输入可匹配索引模板的数据流名称。
重要创建数据流之前必须存在数据流可匹配的索引模板,该模板包含用于配置数据流的后备索引映射及设置。
数据流名称支持以短划线(-)结尾,不支持通配符星号(*)。
单击确定,系统会自动生成数据流及后备索引。
每个数据流创建成功后,都会自动生成一个统一格式的后备索引,格式如下。
.ds-<data-stream>-<yyyy.MM.dd>-<generation>
参数
说明
.ds
隐藏索引名统一标识,数据流生成的后备索引名,默认均以.ds开头。
<data-stream>
数据流名称。
<yyyy.MM.dd>
后备索引创建日期。
<generation>
每个数据流都会生成一个六位数,默认从000001开始的累积整数值,generation值更大的后备索引包含更多新数据。
查看数据流信息
在数据流管理页面,单击对应数据流名称,查看该数据流的后备索引名称、索引状态、存储大小、创建时间、当前生命周期阶段以及写入托管状态。
说明单击对应的后备索引名称,可进入Kibana控制台的索引监控页面,查看索引的监控详情。
单击对应数据流右侧的查看,在查看数据流页面,查看数据流名称、数据流状态、索引数量、索引模板、生命周期策略及存储空间。
数据流状态包含GREEN、YELLOW和RED,含义如下:
GREEN:数据流支持的索引所有分片均已分配。
YELLOW:数据流支持的索引主分片均已分配,但存在副本分片未分配。
RED:数据流支持的索引存在主分片未分配,会导致某些数据不可用。
查看索引托管信息
在数据流管理页面,您可以查看索引托管的相关信息。
参数 | 说明 |
云端托管索引总大小 | 当前时刻,正处于云端写入托管中的索引总大小。 重要 云端托管索引总大小为实时变化数值,不是历史索引总大小。 |
索引个数 | 当前时刻,正处于云端写入托管中的索引总个数。 该数值为当前系统中的实时数值。 重要 索引个数为实时变化数值,不是历史索引总个数。 |
写入托管状态 |
说明
|
滚动更新数据流
在数据流管理页面,单击对应数据流右侧的手动滚动更新。
在弹出的对话框中,单击确认。
滚动生成的新的后备索引会默认在云端Indexing Service进行写入托管,旧的后备索引将自动关闭写入托管。
删除数据流
删除数据流的同时会删除其对应的后备索引,且删除后不可恢复,请谨慎操作。
在数据流管理页面,单击对应数据流右侧的删除。
在弹出的对话框中,单击确认。