Я использую плагин Kafka для ввода данных в logstash от kafka.
input {
kafka {
bootstrap_servers => ["{{ kafka_bootstrap_server }}"]
codec => "json"
group_id => "{{ kafka_consumer_group_id }}"
auto_offset_reset => "earliest"
topics_pattern => ".*" <- This line ensures it reads from all kafka topics
decorate_events => true
add_field => { "[@metadata][label]" => "kafka-read" }
}
}
Темы kafka имеют формат ingest-abc & ingest-xyz
Я использую следующееФильтр для указания индекса ES, в котором он должен заканчиваться, путем установки поля [@metadata] [index_prefix].
filter {
mutate {
add_field => {
"[@metadata][index_prefix]" => "%{[@metadata][kafka][topic]}"
}
remove_field => ["[kafka][partition]", "[kafka][key]"]
}
if [message] {
mutate {
add_field => { "[pipeline_metadata][normalizer][original_raw_message]" => "%{message}" }
}
}
}
Таким образом, мои индексы es в итоге составляют
ingest-abc-YYYY-MM-DD
ingest-xyz-YYYY-MM-DD
Как установитьindex_prefix к abc-YYYY-MM-DD и xyz-YYYY-MM-DD вместо того, чтобы избавиться от общего приставочного префикса
Регулярное выражение, которое соответствует ему: (?!ingest)\b(?!-)\S+
Но я не уверен, гдевписывается в конфиг.
Спасибо!