Yog*_*rie 4 elasticsearch logstash kibana metricbeat
目前正在寻找有关设置 ilm 的帮助,我已经设置了模板、索引别名和策略,如下所示
PUT metricbeat-6.8.4-alias-000001
{
"aliases": {
"metricbeat-6.8.4-alias": {
"is_write_index": true
}
}
}
PUT _template/metricbeat-6.8.4-alias
{
"index_patterns": ["metricbeat-6.8.4-*"],
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1,
"index.lifecycle.name": "Delete_Index",
"index.lifecycle.rollover_alias": "metricbeat-6.8.4-alias"
}
}
Run Code Online (Sandbox Code Playgroud)
但仍然出现如下错误
illegal_argument_exception: index.lifecycle.rollover_alias [metricbeat-6.8.4-alias] does not point to index [metricbeat-6.8.4-2020.02.24]
Run Code Online (Sandbox Code Playgroud)
寻求帮助我如何正确设置 ilm ?谢谢
使用生命周期策略创建别名是一个 3 步过程。
简而言之:
我认为您是在创建第一个索引后创建模板。您应该首先创建 ilm,然后是您指定要用于索引的 ilm 策略的模板,最后创建第一个索引(引导程序)。
代码示例:
var indexName = "index_name";
var indexPattern = $"{indexName}-*";
var aliasName = $"{indexName}-alias";
var policyName = $"{indexName}-policy";
var firstIndexName = $"{indexName}-000001";
PUT _ilm/policy/index_name-policy
{
"policy": {
"phases": {
"hot": {
"actions": {
"rollover": {
"max_size": "5gb",
"max_docs": 10000,
"max_age":"2d"
}
}
},
"warm": {
"min_age": "5d",
"actions": {
}
},
"delete": {
"min_age": "10d",
"actions": {
"delete": {}
}
}
}
}
}
PUT _template/index_name-template
{
"index_patterns": ["{{.IndexPattern}}"],
"settings": {
"index.number_of_shards": "1",
"index.number_of_replicas": "1",
"index.lifecycle.name": "{{.PolicyName}}",
"index.lifecycle.rollover_alias": "{{.AliasName}}"
},
"mappings": {
"_source": {
"enabled": true
},
"properties": {
{{Properties}}
}
}
}
PUT index_name-000001
{
"aliases": {
"{{.AliasName}}":{
"is_write_index": true
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10861 次 |
最近记录: |