Я все еще сталкиваюсь с проблемами, пытаясь понять, как сказать Logstash отправлять динамический индекс на основе поля документа. Кроме того, это Поле должно быть преобразовано, чтобы в самом конце получить «настоящий» индекс. Учитывая, что есть поле «время» (которое является отметкой времени UNIX). Это поле уже преобразовано с помощью фильтра «date» в объект DateTime для Elastic. Кроме того, он должен отображаться как индекс (ГГГГММ). Индекс НЕ должен быть производным от @Timestamp, который не затрагивается.
Пример: {..., "время": 1453412341, ...}
Пойдем в Индекс: 201601
Я использую следующий конфиг:
filter {
date {
match => [ "time", "UNIX" ]
target => "time"
timezone => "Europe/Berlin"
}
}
output {
elasticsearch {
index => "%{time}%{+YYYYMM}"
document_type => "..."
document_id => "%{ID}"
hosts => "..."
}
}
К сожалению, это не работает. Есть идеи, как этого добиться?
Большое спасибо!