【发布时间】:2014-08-26 11:54:32
【问题描述】:
我想用 logstash 和 elasticsearch 索引 hadoop 日志。 这是我的问题: 我通过logstash将日志加载到elasticsearch中,我希望通过elasticsearch搜索事件并保持事件的顺序与原始日志文件中的顺序相同。但它不起作用。 例如,原始日志文件中的事件可能如下所示:
2013-12-25 23:10:19,022 INFO A..
2013-12-25 23:10:19,022 INFO B..
2013-12-25 23:10:19,022 INFO C..
但是当我通过关键字“@timestamp”使用elasticsearch搜索它时,结果可能是这样的:
2013-12-25 23:10:19,022 INFO B..
2013-12-25 23:10:19,022 INFO A..
2013-12-25 23:10:19,022 INFO C..
由于这三个事件的timestampa相同,搜索结果不能保持之前的顺序。
这是我的解决方案: 我想我可以为每个事件添加一个 id,该 id 是在 logstash 解析数据时添加的,它会随着时间戳而增加。然后当我搜索事件时,我可以使用 ids 而不是时间戳,即使它们的 timastamp 相同,它们也会保持正确的顺序。
但我不知道如何使用logstash添加额外的自动增量'id'字段,我考虑了logstash的conf文件并没有找到解决方案。 请给我一些建议,我如何实现这一点,非常感谢!
【问题讨论】:
-
之前有人问过这个问题:stackoverflow.com/questions/23920655/…
-
这正是我想要的,也是一个很好的解决方案,非常感谢!
标签: logging elasticsearch logstash