Измерение прошедшего времени между двумя событиями в свободном
Я ищу способ измерить прошедшее время между событиями, используя fluentd. Также было бы здорово иметь возможность объединить два или более события.
До сих пор я использовал logstash. В logstash есть два плагина для моего варианта использования:
- прошло и слилось.
Я просто не могу понять, как это сделать на беглом языке. Что мне здесь не хватает?
Пример:
У меня есть текстовый файл, содержащий журналы процесса, который выглядит так:
Fri May 8 05:00:00 GMT 2015: start subprocess 1 with param p
Fri May 8 05:10:42 GMT 2015: some other message
Fri May 8 05:11:44 GMT 2015: doing more stuff
Fri May 8 05:10:00 GMT 2015: end subprocess 1
Моя цель - измерить время, необходимое для завершения подпроцесса 1, на основе временных отметок события. Это легко сделать, используя прошедший фильтр в logstash, но я понятия не имею, как решить эту проблему в fluentd.
Я хочу:
2015-05-08 05:10:00 parsed: {"message":"end subprocess 1","elapsed.time":"10.0"}
.. или, что еще лучше, я хочу объединить некоторые поля событий (например, параметр из начального события):
2015-05-08 05:10:00 parsed: {"message":"end subprocess 1","elapsed.time":"10.0", "param": "p"}