使用Logstash Elasticsearch输出插件的ILM不起作用

时间:2019-06-12 13:33:11

标签: elasticsearch logstash elasticsearch-x-pack

我正在尝试使用Elasticsearch输出插件为索引实现ILM以正确使用硬件。似乎我误解了Logstash如何管理ILM。

我在docker中有ELK堆栈版本7.1.0。 X-Pack已通过试用许可证激活。

索引模板由Logstash Elasticsearch输出插件管理,并且索引生命周期策略是使用Kibana创建的。

这是Logstash管道的输出部分:

output {
    elasticsearch {
        hosts => ["http://eshost:9200"]
        user => "logstash_writer"
        password => "pass"
        template => "/usr/share/logstash/es_templates/ilm-template.json"
        template_name => "ilm-template"
        template_overwrite => true
        ilm_enabled => true
        ilm_rollover_alias => "ilm-index"
        ilm_pattern => "000001"
        ilm_policy => "base-policy"
    }
}

用户logstash_writer具有默认角色logstash_writer,具有ILM管理权限。

Elasticsearch索引模板ilm-template.json

{
  "settings" : {
    "index.number_of_replicas" : "1",
    "index.number_of_shards" : "1",
    "index.refresh_interval" : "5s"
  }
}

实际上由Logstash创建的Elasticsearch索引模板_template/ilm-template

{
  "ilm-template" : {
    "order" : 0,
    "index_patterns" : [
      "ilm-index-*"
    ],
    "settings" : {
      "index" : {
        "lifecycle" : {
          "name" : "base-policy",
          "rollover_alias" : "ilm-index"
        },
        "refresh_interval" : "5s",
        "number_of_shards" : "1",
        "number_of_replicas" : "1"
      }
    },
    "mappings" : { },
    "aliases" : { }
  }
}

使用Kibana创建的政策base-policy

{
    "policy": {
        "phases": {
            "hot": {
                "min_age": "0ms",
                "actions": {
                    "rollover": {
                        "max_size": "100mb",
                        "max_docs": 100000
                    },
                    "set_priority": {
                        "priority": 100
                    }
                }
            },
            "delete": {
                "min_age": "2d",
                "actions": {
                    "delete": {}
                }
            }
        }
    }
}

我期望索引集ilm-index-*,但是尽管ilm-index-000001有局限性,但只有base-policy被创建并不断增长。因此,我只在Kibana中看到与ilm-index-000001关联的一个索引(base-policy)。

1 个答案:

答案 0 :(得分:0)

提供的配置正确。问题在于max_sizemax_docs参数的值较小时的解释。当pri.store.sizedocs.count变得比max_sizemax_docs中的设置更大时,Elasticsearch不会滚动索引。