【问题标题】:ELK most appropriate timestamp name _ or @ELK 最合适的时间戳名称 _ 或 @
【发布时间】:2016-12-15 00:20:45
【问题描述】:

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

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

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

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

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

有点烦人。

这个问题可能完全是语义问题——但使用_timestamp 是最正确的,还是使用@timestamp 就可以了?是否有其他考虑因素会影响时间戳字段的命名?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2012-04-17
        • 1970-01-01
        • 1970-01-01
        • 2018-06-20
        • 2022-01-08
        • 1970-01-01
        • 2016-03-23
        • 1970-01-01
        相关资源
        最近更新 更多