elasticsearch 开放发行版进行弹性搜索';源别名未指向写入索引';,elasticsearch,logstash,kibana,elastic-stack,elasticsearch,Logstash,Kibana,Elastic Stack" /> elasticsearch 开放发行版进行弹性搜索';源别名未指向写入索引';,elasticsearch,logstash,kibana,elastic-stack,elasticsearch,Logstash,Kibana,Elastic Stack" />

elasticsearch 开放发行版进行弹性搜索';源别名未指向写入索引';

elasticsearch 开放发行版进行弹性搜索';源别名未指向写入索引';,elasticsearch,logstash,kibana,elastic-stack,elasticsearch,Logstash,Kibana,Elastic Stack,我正在使用用于elasticsearch v7.7.0的开放发行版,我希望自动管理索引生命周期,以便在创建新索引时自动将其附加到ISM策略。 但我得到了这个错误“源别名不指向写索引” 以下是我的配置: 1-日志存储输出 output { elasticsearch { hosts => ["http://myelasticsearch"] user => "someuser" password => "somepassword-

我正在使用用于elasticsearch v7.7.0的开放发行版,我希望自动管理索引生命周期,以便在创建新索引时自动将其附加到ISM策略。 但我得到了这个错误“源别名不指向写索引”

以下是我的配置:

1-日志存储输出

output {
elasticsearch {
hosts => ["http://myelasticsearch"]
user => "someuser"
password => "somepassword-"
#index => "demo"
index => "demo-%{+YYYY.MM.dd.HH-mm}"
       ssl => false
       ssl_certificate_verification => false
       ilm_enabled => false
}
stdout { codec => "dots"}
}
2-伊斯兰主义政策

    {
    "policy": {
        "policy_id": "hot warm delete workflow",
        "description": "hot warm delete workflow",
        "last_updated_time": 1595417446751,
        "schema_version": 1,
        "error_notification": null,
        "default_state": "hot",
        "states": [
            {
                "name": "hot",
                "actions": [
                    {
                        "rollover": {
                            "min_index_age": "1d"
                        }
                    }
                ],
                "transitions": [
                    {
                        "state_name": "warm"
                    }
                ]
            },
            {
                "name": "warm",
                "actions": [
                    {
                        "replica_count": {
                            "number_of_replicas": 0
                        }
                    }
                ],
                "transitions": [
                    {
                        "state_name": "delete",
                        "conditions": {
                            "min_index_age": "30d"
                        }
                    }
                ]
            },
            {
                "name": "delete",
                "actions": [
                    {
                        "delete": {}
                    }
                ],
                "transitions": []
            }
        ]
    }
}
3-索引模板

  PUT _template/my_template
{
"alias": {
    "demo": {"is_write_index": true }
  },
  "index_patterns": ["demo*"],                 
  "settings": {
    "number_of_shards": 1,
    "number_of_replicas": 1,
    "opendistro.index_state_management.policy_id": "hot warm delete workflow",      
    "opendistro.index_state_management.rollover_alias": "demo"  
    
  }
}
我注意到,当创建别名时,它不会获得“is_write_index:true”属性


任何有用的意见都将不胜感激。

我自己解决了这个问题

对于面临同样问题的人来说,这里是解决办法

1-首先创建一个模板:

PUT _template/my_template
{
  "index_patterns": ["demo*"],                 
  "settings": {
    "number_of_shards": 1,
    "number_of_replicas": 1,
    "opendistro.index_state_management.policy_id": "hot warm delete workflow",      
    "opendistro.index_state_management.rollover_alias": "demo"  
    
  }
}
PUT demo-000001
{
  "aliases": {
    "demo": {
      "is_write_index": true
    }
  }
}
2-需要引导初始索引,并将其指定为索引模板中指定的滚动别名的写入索引:

PUT _template/my_template
{
  "index_patterns": ["demo*"],                 
  "settings": {
    "number_of_shards": 1,
    "number_of_replicas": 1,
    "opendistro.index_state_management.policy_id": "hot warm delete workflow",      
    "opendistro.index_state_management.rollover_alias": "demo"  
    
  }
}
PUT demo-000001
{
  "aliases": {
    "demo": {
      "is_write_index": true
    }
  }
}
3-日志存储输出:

output {
elasticsearch {
hosts => ["http://myelasticsearch"]
user => "someuser"
password => "somepassword-"
index => "demo"
       ssl => false
       ssl_certificate_verification => false
       ilm_enabled => false      
}
stdout { codec => "dots"}
}

如果您手动创建一个与模板的索引模式匹配的新索引,结果如何?@ibexit感谢您的评论,即使我创建了一个与索引模式匹配的索引,它也不会得到“is_write_index:true”,除非在索引创建中指定了它。