Logstash 7 не добавляет отметку даты к имени индекса - PullRequest
0 голосов
/ 24 октября 2019

Я только что обновил с ELK 6.7.0 до 7.4.0 (через 6.8.0). После того, как я запустил свой экземпляр 7.4.0, logstash начал помещать данные в индекс с именем «logstash» вместо «logstash-2019.10.24», как это было раньше.

Я обновил свой выходной плагин, чтобы он выглядел как

output {
  elasticsearch {
    hosts => ["localhost"]
    index => "logstash-%{+YYYY.MM.dd}"
  }
}

Раньше у меня не было части «index», но я попробовал это, чтобы посмотреть, поможет ли это, перезапустил logstash, и он все еще помещает данные в индекс «logstash».

Как я могу заставить logstash снова использовать индексы с меткой даты?

(я запускаю только один узел в докере: https://github.com/kenwdelong/elk-docker/tree/ELK-7.4.0)

Странно, если я раскручиваюсьтот же самый тегированный образ докера на чистой машине, и вставьте в него некоторые данные, используя тестовый скрипт на моей странице github, он работает нормально, и я получаю дату в имени индекса.

1 Ответ

0 голосов
/ 25 октября 2019

Я наконец понял это. У меня был установлен шаблон «logstash» с шаблоном индекса «logstash- *». Этот шаблон был создан очень давно и все еще имел ключ " defaults " непосредственно под "сопоставлениями". Очевидно, это не позволило ES 7 создать индекс, поэтому Logstash каким-то образом вернулся к индексу «logstash». Мне пришлось удалить шаблон logstash, а затем воссоздать его без ключа " defaults ". Кроме того, я столкнулся с некоторыми проблемами, когда записи не были проиндексированы из-за ECS - ES предполагал, что определенные поля (например, userAgent) были одного типа, когда на самом деле все, что у меня было, было настроено на другой тип. Так что мне пришлось сгладить и эти проблемы.

...