Link Search Menu Expand Document Documentation Menu

索引状态管理

如果您分析时间序列数据,您可能更重视新数据而非旧数据。您可能需要定期对旧索引执行某些操作,例如减少副本计数或删除它们。

索引状态管理 (ISM) 是一个插件,它允许您根据索引的年龄、大小或文档数量的变化来触发这些操作,从而自动化这些定期管理操作。使用 ISM 插件,您可以定义策略,以根据您的用例自动处理索引滚动或删除。

例如,您可以定义一个策略,在 30 天后将您的索引移动到 read_only 状态,然后在设定的 90 天后删除它。您还可以设置策略在索引删除时向您发送通知消息。

您可能希望在特定时间后执行索引滚动,或者在非高峰时段对索引运行 force_merge 操作,以提高高峰时段的搜索性能。

要使用 ISM 插件,您的用户角色需要映射到 all_access 角色,该角色授予您对集群的完全访问权限。要了解更多信息,请参阅用户和角色

ISM 入门

要开始使用,请在 OpenSearch Dashboards 中选择索引管理

步骤 1:设置策略

策略是一组规则,描述了应如何管理索引。有关创建策略的信息,请参阅策略

您可以使用可视化编辑器或 JSON 编辑器来创建策略。与 JSON 编辑器相比,可视化编辑器通过将过程分为创建错误通知、定义 ISM 模板和添加状态,提供了一种更结构化的策略定义方式。如果您想查看预定义字段,例如可以将哪些操作分配给某个状态,或者在什么条件下状态可以转换为目标状态,我们建议使用可视化编辑器。

可视化编辑器

  1. 选择索引策略选项卡。
  2. 选择创建策略
  3. 选择可视化编辑器
  4. 策略信息部分,输入策略 ID 和可选的描述。
  5. 错误通知部分,设置一个可选的错误通知,该通知会在策略执行失败时发送。有关更多信息,请参阅错误通知。如果您的策略中使用自动滚动,我们建议设置错误通知,这会在滚动失败时通知您异常大的索引。
  6. ISM 模板中,输入任何 ISM 模板模式,以便将此策略自动应用于未来的索引。例如,如果您指定模板为 sample-index*,ISM 插件会自动将此策略应用于任何名称以 sample-index 开头的索引。您的模式不能包含以下任何字符::"+/\|?#><
  7. 状态中,添加您希望包含在策略中的任何状态。每个状态都包含当索引进入特定状态时插件执行的操作,以及当满足条件时将索引转换为目标状态的转换。您在策略中创建的第一个状态会自动设置为初始状态。每个策略必须至少有一个状态,但操作和转换是可选的。
  8. 选择 Create

JSON 编辑器

  1. 选择索引策略选项卡。
  2. 选择创建策略
  3. 选择JSON 编辑器
  4. 命名策略部分,输入策略 ID。
  5. 定义策略部分,输入您的策略。
  6. 选择 Create

创建策略后,下一步是将其附加到一个或多个索引。您可以在策略中设置 ism_template,这样当创建与 ISM 模板模式匹配的索引时,插件会自动将策略附加到该索引。

以下示例演示了如何创建一个策略,该策略会自动附加到所有名称以 index_name- 开头的索引。

PUT _plugins/_ism/policies/policy_id
{
  "policy": {
    "description": "Example policy.",
    "default_state": "...",
    "states": [...],
    "ism_template": {
      "index_patterns": ["index_name-*"],
      "priority": 100
    }
  }
}

如果您有多个与索引模式匹配的模板,ISM 会使用优先级值来确定要应用哪个模板。

有关 ISM 模板策略的示例,请参阅带有用于自动滚动的 ISM 模板的示例策略

插件的旧版本在索引模板中包含 policy_id,因此当创建与索引模板模式匹配的索引时,该索引将附加此策略。

PUT _index_template/<template_name>
{
  "index_patterns": [
    "index_name-*"
  ],
  "template": {
    "settings": {
      "opendistro.index_state_management.policy_id": "policy_id"
    }
  }
}

opendistro.index_state_management.policy_id 设置已弃用。您可以使用 ISM 模板字段继续自动管理新创建的索引。

步骤 2:将策略附加到索引

  1. 选择索引
  2. 选择您要附加策略的一个或多个索引。
  3. 选择应用策略
  4. 策略 ID 菜单中,选择您创建的策略。您可以查看策略预览。
  5. 如果您的策略包含滚动操作,请指定一个滚动别名。请确保您输入的别名已存在。有关滚动操作的更多信息,请参阅滚动
  6. 选择应用

将策略附加到索引后,ISM 会创建一个作业,该作业默认每 5 分钟运行一次,以执行策略操作、检查条件并将索引转换为不同状态。要更改此作业的默认时间间隔,请参阅设置

如果集群状态为红色,ISM 不会运行作业。

步骤 3:管理索引

  1. 选择已管理索引
  2. 要更改您的策略,请参阅更改策略
  3. 要将滚动别名附加到您的索引,请选择您的策略并选择添加滚动别名。请确保您输入的别名已存在。有关滚动操作的更多信息,请参阅滚动
  4. 要删除策略,请选择您的策略,然后选择删除策略
  5. 要重试策略,请选择您的策略,然后选择重试策略

有关管理策略的信息,请参阅已管理索引

剩余 350 字符

有问题?

想要贡献?