elasticsearch logstash';elasticsearch索引的日期来自哪里?
发件人:
elasticsearch logstash';elasticsearch索引的日期来自哪里?,
elasticsearch,logstash,
elasticsearch,Logstash,发件人: 我想知道logstash从哪里得到YYYY.MM.dd的信息?是@timestamp字段吗?如果是这样,是否可以告诉它使用不同的字段(例如@mydate)?索引YYYY.MM.dd根据@timestamp time 您可以参考“event.sprintf”来打印日志存储索引 index = event.sprintf(@index) 然后你可以研究一下sprintf的功能 t = @data["@timestamp"] formatter = org.joda.time.fo
我想知道logstash从哪里得到YYYY.MM.dd的信息?是@timestamp字段吗?如果是这样,是否可以告诉它使用不同的字段(例如@mydate)?索引YYYY.MM.dd根据@timestamp time 您可以参考“event.sprintf”来打印日志存储索引
index = event.sprintf(@index)
然后你可以研究一下sprintf的功能
t = @data["@timestamp"]
formatter = org.joda.time.format.DateTimeFormat.forPattern(key[1 .. -1])\
.withZone(org.joda.time.DateTimeZone::UTC)
#next org.joda.time.Instant.new(t.tv_sec * 1000 + t.tv_usec / 1000).toDateTime.toString(formatter)
# Invoke a specific Instant constructor to avoid this warning in JRuby
# > ambiguous Java methods found, using org.joda.time.Instant(long)
org.joda.time.Instant.java_class.constructor(Java::long).new_instance(
t.tv_sec * 1000 + t.tv_usec / 1000
).to_java.toDateTime.toString(formatter)
因此,如果希望索引跟随您自己的字段,则必须修改event.rb以使用您自己的字段而不是时间戳。或者,您可以将时间戳值更改为自己的字段时间
t = @data["@timestamp"]
formatter = org.joda.time.format.DateTimeFormat.forPattern(key[1 .. -1])\
.withZone(org.joda.time.DateTimeZone::UTC)
#next org.joda.time.Instant.new(t.tv_sec * 1000 + t.tv_usec / 1000).toDateTime.toString(formatter)
# Invoke a specific Instant constructor to avoid this warning in JRuby
# > ambiguous Java methods found, using org.joda.time.Instant(long)
org.joda.time.Instant.java_class.constructor(Java::long).new_instance(
t.tv_sec * 1000 + t.tv_usec / 1000
).to_java.toDateTime.toString(formatter)