elasticsearch 开放发行版进行弹性搜索';源别名未指向写入索引';
我正在使用用于elasticsearch v7.7.0的开放发行版,我希望自动管理索引生命周期,以便在创建新索引时自动将其附加到ISM策略。 但我得到了这个错误“源别名不指向写索引” 以下是我的配置: 1-日志存储输出
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-
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”,除非在索引创建中指定了它。