使用Logstash将日志解析为Elasticsearch,然后使用Kibana进行可视化时,时间戳的最合适名称是什么?
我在过滤器中使用日期定义时间戳:
value = datagrid.editableGrid.columns[3];
Logstash会自动将其放入date {
match => [ "logtime", "yy-MM-dd HH:mm:ss" ]
}
字段。可以将Kibana配置为使用任何格式正确的字段作为时间戳,但在Elasticsearch中使用@timestamp
似乎是正确的。为此,您必须改变并重命名datestamp字段。
_timestamp
稍微烦人。
这个问题可能完全是语义问题 - 但是使用mutate {
rename => { "@timestamp" => "_timestamp" }
}
是最正确的,还是使用_timestamp
就好了?是否有任何其他因素会影响时间戳字段的命名?
答案 0 :(得分:1)
Elasticsearch允许您定义以下划线开头的字段,但是,Kibana(自v4起)将仅显示在_source
文档之外声明的字段。
你绝对应该使用@timestamp
,这是在Logstash中命名时间戳字段的标准方法。 Kibana不允许您使用_timestamp
。
答案 1 :(得分:1)
请注意,_timestamp
是保留的,deprecated是特殊字段名称。实际上,任何以下划线开头的字段名称都是reserved,用于弹性搜索未来的内部使用。 AFAIK logstash文档examples使用@timestamp
作为字段名称
没有任何重命名。