ILM, использующий плагин вывода Logstash Elasticsearch, не работает - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь реализовать ILM для индекса, чтобы правильно использовать оборудование, используя плагин вывода Elasticsearch. Похоже, я неправильно понимаю, как Logstash управляет ILM.

У меня в доке версия стека 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"
  }
}

Шаблон индекса Elasticsearch _template/ilm-template, который фактически был создан Logstash:

{
  "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" : { }
  }
}

Политика base-policy, созданная с использованием Kibana:

{
    "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. Поэтому в Кибане я вижу только один индекс (ilm-index-000001), связанный с base-policy.

1 Ответ

0 голосов
/ 13 июня 2019

Предоставленная конфигурация верна. Проблема заключается в интерпретации параметров max_size и max_docs, когда они имеют небольшое значение. Elasticsearch не переносит индексы, когда pri.store.size и docs.count становятся больше, чем установлено в max_size и max_docs.

...