Elasticsearch несколько индексов на удары?

Я использую filebeat и хочу также ввести metricbeat. Выходные данные filebeat индексируются в logstash-*, но мне нужен другой индекс, содержащий только данные из metricbeat (например, metricbeat-test-%{+YYYY.MM.dd}). Они будут работать вместе на одном сервере.

Как я могу дать команду logstash индексировать содержимое файлового ритма в logstash-*, и если это метрический бит, чтобы продолжить и использовать другой индекс?

Более или менее мне нужно заявление IF, однако я не уверен, что я должен включить туда!

Мой конфиг logstash выглядит так:

output {asticsearch { hosts => "10.0.0.5:9200" manage_template => "true" index => "logstash-test-%{+YYYY.MM.dd}" document_type => "apache" } }

1 ответ

Когда любой ритм отправляет данные в Logstash, он добавляет целевой индекс к [@metadata][beat] поле. По умолчанию Beat устанавливает это значение на собственное имя (например, filebeat). И если вы хотите настроить значение, вы можете установить output.logstash.index Вариант конфигурации.

Чтобы использовать преимущества метаданных, присутствующих во всех событиях, происходящих от Beats, вы должны сконфигурировать вывод эластичного поиска в Logstash следующим образом:

output {
  if [@metadata][beat] {
    elasticsearch {
      hosts => "localhost:9200"
      manage_template => false
      index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
      document_type => "%{[@metadata][type]}"
    }   
  }   
}

Это из документации Beats о том, как использовать их с Logstash. Я добавил условие, чтобы этот вывод использовался только для ваших данных Beats. Вы бы сконфигурировали другой вывод эластичного поиска для других данных, поступающих через конвейер.

Наконец, потому что вы используете filebeat-* а также metricbeat-* индексы вы должны вручную установить предоставленные шаблоны индексов. Для каждого ритма в пакете загрузки есть шаблон индекса. Есть шаблон для Elasticsearch 2.x и 5.x, используйте соответствующий.

Вы устанавливаете шаблон с помощью curl ( docs). Например,

curl -XPUT 'http://localhost:9200/_template/filebeat' -d@/etc/filebeat/filebeat.template.json

Другие вопросы по тегам