Я пытаюсь связать события logstash с возможным расположением файла на AWS S3. У нас есть файлы индексирования logstash напрямую, и когда файл закончил писать, мы отправляем его на S3.Добавление тегов в события logstash на основе md5 имени файла
Для повышения производительности S3, мы веер файлов, сохраняя их следующим образом:
hex(md5(filename.log))[0..2]/filename.log
Это занимает первые 3 символа md5 hexdigest и сохраняют файл в папке с префиксом, обеспечивая довольно твердый вентилятор из файлов. К сожалению, я не могу определить, как помечать каждое событие журнала этой информацией.
Существует ruby filter type, который позволяет выполнять рубиновый код, но я не думаю, что он позволяет использовать результат вычисления.
filter {
ruby {
code => "require 'digest/md5'; Digest::MD5.hexdigest("mylong.file.name")[0..2]"
# now what?
}
}
Есть ли способ крепления тега или поля на основе префикса md5?