ELK最合适的时间戳名称_或@

时间:2016-08-09 05:10:40

标签: elasticsearch logstash kibana kibana-4 elastic-stack

使用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就好了?是否有任何其他因素会影响时间戳字段的命名?

2 个答案:

答案 0 :(得分:1)

Elasticsearch允许您定义以下划线开头的字段,但是,Kibana(自v4起)将仅显示在_source文档之外声明的字段。

你绝对应该使用@timestamp,这是在Logstash中命名时间戳字段的标准方法。 Kibana不允许您使用_timestamp

答案 1 :(得分:1)

请注意,_timestamp是保留的,deprecated是特殊字段名称。实际上,任何以下划线开头的字段名称都是reserved,用于弹性搜索未来的内部使用。 AFAIK logstash文档examples使用@timestamp作为字段名称  没有任何重命名。