

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 教程：实现索引状态管理过程的自动化
<a name="ism-tutorial"></a>

本教程演示如何实施自动执行日常索引管理任务的 ISM 策略，并将其应用于索引和索引模式。

Amazon S OpenSearch ervice 中的@@ [索引状态管理 (ISM)](ism.md) 允许您自动执行重复的索引管理活动，因此您可以避免使用其他工具来管理索引生命周期。您可以创建一个策略，根据索引年限、大小和其他条件自动执行这些操作，所有这些操作都可以在您的 Amazon S OpenSearch ervice 域中完成。

OpenSearch 服务支持三个存储层：用于主动写入和低延迟分析的默认 “热” 状态， UltraWarm 用于高达 3 PB 的只读数据，以及用于无限长期存档的冷存储。

本教程提供在每日索引中处理时间序列数据的使用案例示例。在本教程中，您将设置一个策略，该策略在 24 小时后自动拍摄每个附加索引的快照。然后，它会在两天后将索引从默认的热状态迁移到 UltraWarm 存储，30 天后将索引从冷存储迁移到冷存储，最后在 60 天后删除索引。

## 先决条件
<a name="ism-tutorialprerequisites"></a>
+ 您的 OpenSearch 服务域必须运行 Elasticsearch 版本 6.8 或更高版本。
+ 您的域名必须已[UltraWarm](ultrawarm.md)启用[冷存储](cold-storage.md)。
+ 您必须为域[注册一个手动快照存储库](managedomains-snapshot-registerdirectory.md)。
+ 您的用户角色需要足够的权限才能访问 OpenSearch 服务控制台。如有必要，验证并[配置域的访问权限](ac.md)。

## 步骤 1：配置 ISM 策略
<a name="ism-tutorial-policy"></a>

首先，在 “ OpenSearch 控制面板” 中配置 ISM 策略。

1. 在 OpenSearch 服务控制台的域名控制面板中，导航到控制 OpenSearch 面板网址，然后使用您的主用户名和密码登录。URL 遵循此格式：`domain-endpoint/_dashboards/`。

1. 在 OpenSearch 仪表板中，选择**添加示例数据**，然后将一个或多个示例索引添加到您的域中。

1. 打开左侧导航面板，然后依次选择 **Index Management**（索引管理）、**Create policy**（创建策略）。

1. 将该策略命名为 `ism-policy-example`。

1. 将默认策略替换为以下策略：

   ```
   {
     "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 模板](ism.md#ism-template)。

1. 在策略的 `snapshot` 部分，将 `snapshot-repo` 替换为您为域注册的[快照存储库](managedomains-snapshot-registerdirectory.md)的名称。您还可以选择替换 `ism-snapshot`，该名称是创建快照时的名称。

1. 选择**创建**。现在，**State management policies**（状态管理策略）页面上会显示该策略。

## 步骤 2：将该策略附加到一个或多个索引
<a name="ism-tutorial-attach"></a>

现在，您已创建策略，请将其附加到集群中的一个或多个索引。

1. 转至 **Hot indicies**（热索引）选项卡并搜索 `opensearch_dashboards_sample`，其中列出了您在步骤 1 中添加的所有示例索引。

1. 选择所有索引并选择 A **pply p** olicy，然后选择您刚刚创建的**ism-policy-example**策略。

1. 选择**应用**。

在索引切换不同的状态时，您可以在 **Policy managed indices**（策略管理索引）页面上监控索引。