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