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
政策示例
以下示例策略实现hot
、warm
和delete
工作流程。您可以使用此策略作为模板,根据索引的活动级别确定资源的优先级。在这种情况下,索引最初处于一种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
}
}
}