我正在寻找一种使用 fluentd 测量事件之间经过时间的方法。能够合并两个或多个事件也很棒。
到目前为止,我一直在使用logstash。我在 logstash 中的用例有两个插件:
我只是不知道如何在 fluentd 中做到这一点。我在这里错过了什么?
例子:
我有一个包含进程日志的文本文件,如下所示:
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
Run Code Online (Sandbox Code Playgroud)
我的目标是根据事件的时间戳来衡量完成子流程 1 所花费的时间。这可以使用 logstash 中的 elapsed 过滤器轻松完成,但我不知道如何在 fluentd 中解决这个问题。
我想要一个 :
2015-05-08 05:10:00 parsed: {"message":"end subprocess 1","elapsed.time":"10.0"}
Run Code Online (Sandbox Code Playgroud)
.. 甚至更好我想合并事件的一些字段(例如来自开始事件的参数):
2015-05-08 05:10:00 parsed: {"message":"end subprocess 1","elapsed.time":"10.0", "param": …Run Code Online (Sandbox Code Playgroud)