open search 设置自动过期删除策略

1、创建策略

PUT _plugins/_ism/policies/rollover_policy
{
  "policy": {
    "description": "Example rollover policy.",
    "default_state": "rollover",
    "states": [
      {
        "name": "rollover",
        "actions": [
          {
            "rollover": {
              "min_doc_count": 1
            }
          }
        ],
        "transitions": []
      }
    ],
    "ism_template": {
      "index_patterns": ["log*"],
      "priority": 100
    }
  }
}

2、更改集群设置以每分钟触发一次作业

PUT /_cluster/settings?pretty=true
{
  "persistent" : {
    "plugins.index_state_management.job_interval" : 1
  }
}

3、rollover_alias使用as设置模板log

PUT _index_template/ism_rollover
{
  "index_patterns": ["log*"],
  "template": {
   "settings": {
    "plugins.index_state_management.rollover_alias": "log"
   }
 }
}

4、接下来,创建一个新索引:

PUT /log-000001
{
  "aliases": {
    "log": {
      "is_write_index": true
    }
  }
}

4、最后,将文档添加到索引以触发作业:

POST /log-000001/_doc
{
  "message": "dummy"
}

5、验证策略是否附加到索引log-000001

GET _plugins/_ism/explain/log-000001?pretty

政策示例

以下示例策略实现hotwarmdelete工作流程。您可以使用此策略作为模板,根据索引的活动级别确定资源的优先级。

在这种情况下,索引最初处于一种hot状态。一天后,变为warm副本数增加到5个的状态,以提高读取性能。

30 天后,策略将该指数移至某种delete状态。该服务向 Chime 房间发送索引正在删除的通知,然后将其永久删除。

 

{
  "policy": {
    "description": "hot warm delete workflow",
    "default_state": "hot",
    "schema_version": 1,
    "states": [
      {
        "name": "hot",
        "actions": [
          {
            "rollover": {
              "min_index_age": "1d",
              "min_primary_shard_size": "30gb"
            }
          }
        ],
        "transitions": [
          {
            "state_name": "warm"
          }
        ]
      },
      {
        "name": "warm",
        "actions": [
          {
            "replica_count": {
              "number_of_replicas": 5
            }
          }
        ],
        "transitions": [
          {
            "state_name": "delete",
            "conditions": {
              "min_index_age": "30d"
            }
          }
        ]
      },
      {
        "name": "delete",
        "actions": [
          {
            "notification": {
              "destination": {
                "chime": {
                  "url": "<URL>"
                }
              },
              "message_template": {
                "source": "The index {{ctx.index}} is being deleted"
              }
            }
          },
          {
            "delete": {}
          }
        ]
      }
    ],
    "ism_template": {
      "index_patterns": ["log*"],
      "priority": 100
    }
  }
}

 

posted @ 2023-03-31 19:14  浅笑19  阅读(111)  评论(0编辑  收藏  举报