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

ELK most appropriate timestamp name _ or @

当使用 Logstash 将日志解析到 Elasticsearch,然后使用 Kibana 进行可视化时,时间戳最合适的名称是什么?

我在过滤器中使用日期定义时间戳:

date {
     match => [ "logtime", "yy-MM-dd HH:mm:ss" ]
}

Logstash 自动将其放入 @timestamp 字段。 Kibana 可以配置为使用任何格式正确的字段作为时间戳,但在 Elasticsearch 中使用 _timestamp 似乎是正确的。为此,您必须更改并重命名日期戳字段。

mutate {
     rename => { "@timestamp" => "_timestamp" }
}

有点烦人。

这个问题可能完全是语义问题 - 但使用 _timestamp 是最正确的,还是使用 @timestamp 才合适?是否有任何其他因素会影响时间戳字段的命名?

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

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

请注意,_timestamp 已保留,deprecated special field name. Actually any field names starting with underscore are reserved for elasticsearch future internal usage. AFAIK logstash documentation examples 使用 @timestamp 作为字段名称 没有任何重命名。