@koigva

Почему создается лишний индекс в ElasticSearch?

Здравствуйте!

В FileBeat указано два input:
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /home/ ... /storage/logs/laravel*.log
  document_type: json
  json.keys_under_root: true
  fields:
    log_type: laravel_log
- type: log
  enabled: true
  paths:
    - /var/log/apache2/error.log
  fields:
    log_type: apache_log


В LodStash индекс ES настроен в зависимости от log_type:
input {
  beats {
    port => 5044
  }
}
output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "%{[fields][log_type]}-%{+YYYY.MM.dd}"
  }
}


В принципе, все работает.
Но в ES помимо ожидаемых индексов почему-то создается еще вот такой:
%{[fields][log_type]}-2020.01.28
5e3013427de5f510575122.png

Вопрос в следующем, это нормально и если нет, то как от этого избавиться?
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ответы на вопрос 1
@koigva Автор вопроса
Выяснил, откуда берется этот индекс. Logstash пишет туда свой logstash-plain.log.
Видимо потому, что у него нет log_type, индекс создается с таким названием.
Улучшить ситуацию получилось вот так:
output {
  if [fields][log_type] {
    elasticsearch {
      hosts => ["localhost:9200"]
      index => "%{[fields][log_type]}-%{+YYYY.MM.dd}"
    }
  } else {
    elasticsearch {
      hosts => ["localhost:9200"]
      index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
    }
  }
}


Осталось только выяснить, почему вообще Logstash его в ES отсылает?
Если кто-нибудь знает ответ на этот вопрос, напишите пожалуйста.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы