本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程:实现索引状态管理过程的自动化
本教程演示如何实施自动执行日常索引管理任务的 ISM 策略,并将其应用于索引和索引模式。
通过 Amazon OpenSearch Service 中的索引状态管理(ISM),您可以自动执行定期索引管理活动,从而避免使用其他工具来管理索引生命周期。您可以创建一个策略,根据索引期限、大小和其他条件自动执行这些操作,所有这些操作都在您的 Amazon OpenSearch Service 域中完成。
OpenSearch Service 支持三个存储层:用于主动写入和低延迟分析的默认“热”状态,用于存储高达 3 PB 只读数据的 UltraWarm,以及用于无限长期存档的冷存储。
本教程提供在每日索引中处理时间序列数据的使用案例示例。在本教程中,您将设置一个策略,该策略在 24 小时后自动拍摄每个附加索引的快照。然后,该策略会在两天后将索引从默认的热状态迁移至 UltraWarm 存储,并在 30 天后迁移至冷存储,最后在 60 天后删除索引。
先决条件
-
OpenSearch Service 域必须运行 Elasticsearch 版本 6.8 或更高版本。
-
您必须为域注册一个手动快照存储库。
-
您的用户角色需要具有足够的权限才能访问 OpenSearch Service 控制台。如有必要,验证并配置域的访问权限。
步骤 1:配置 ISM 策略
首先,在 OpenSearch 控制面板中配置 ISM 策略。
-
在 OpenSearch Service 控制台中的域控制面板中,导航到 OpenSearch 控制面板 URL,然后使用您的主用户名和密码登录。URL 遵循此格式:
。domain-endpoint
/_dashboards/ -
在 OpenSearch 控制面板中,选择 Add sample data(添加示例数据)并将一个或多个示例索引添加到您的域。
-
打开左侧导航面板,然后依次选择 Index Management(索引管理)、Create policy(创建策略)。
-
将该策略命名为
ism-policy-example
。 -
将默认策略替换为以下策略:
{ "policy": { "description": "Move indexes between storage tiers", "default_state": "hot", "states": [ { "name": "hot", "actions": [], "transitions": [ { "state_name": "snapshot", "conditions": { "min_index_age": "24h" } } ] }, { "name": "snapshot", "actions": [ { "retry": { "count": 5, "backoff": "exponential", "delay": "30m" }, "snapshot": { "repository": "
snapshot-repo
", "snapshot": "ism-snapshot
" } } ], "transitions": [ { "state_name": "warm", "conditions": { "min_index_age": "2d" } } ] }, { "name": "warm", "actions": [ { "retry": { "count": 5, "backoff": "exponential", "delay": "1h" }, "warm_migration": {} } ], "transitions": [ { "state_name": "cold", "conditions": { "min_index_age": "30d" } } ] }, { "name": "cold", "actions": [ { "retry": { "count": 5, "backoff": "exponential", "delay": "1h" }, "cold_migration": { "start_time": null, "end_time": null, "timestamp_field": "@timestamp", "ignore": "none" } } ], "transitions": [ { "state_name": "delete", "conditions": { "min_index_age": "60d" } } ] }, { "name": "delete", "actions": [ { "cold_delete": {} } ], "transitions": [] } ], "ism_template": [ { "index_patterns": [ "index-*" ], "priority": 100 } ] } }注意
ism_template
字段会自动将策略附加到与指定index_patterns
之一匹配的任何新创建的索引。在这种情况下,为所有以index-
开头的索引。您可以修改此字段以匹配您的环境中的索引格式。有关更多信息,请参阅 ISM 模板。 -
在策略的
snapshot
部分,将
替换为您为域注册的快照存储库的名称。您还可以选择替换snapshot-repo
,该名称是创建快照时的名称。ism-snapshot
-
选择创建。现在,State management policies(状态管理策略)页面上会显示该策略。
步骤 2:将该策略附加到一个或多个索引
现在,您已创建策略,请将其附加到集群中的一个或多个索引。
-
转至 Hot indicies(热索引)选项卡并搜索
opensearch_dashboards_sample
,其中列出了您在步骤 1 中添加的所有示例索引。 -
选择所有索引并选择 Apply policy(应用策略),然后选择您刚刚创建的 ism-policy-example 策略。
-
选择 应用。
在索引切换不同的状态时,您可以在 Policy managed indices(策略管理索引)页面上监控索引。