【问题标题】:Logstash - Set @timestamp to use microsecondsLogstash - 将@timestamp 设置为使用微秒
【发布时间】:2021-05-12 01:07:05
【问题描述】:

有没有办法更新 logstash 中的 @timestamp 以便添加微秒?

在 Kibana 中,我们将格式设置为“Date Nanos”,但在 logstash 中,当我们使用日期过滤器插件设置 @timestamp 时,文件中的时间戳为微秒似乎被忽略了。

我认为这是因为日期过滤插件处理毫秒级精度,对吗?如果是这样,设置@timestamp 以显示被摄取文件的微秒数的最佳方法是什么?

谢谢

logstash 文件示例

date {
    target => "@timestamp"
    match => ["file_timestamp", "YYYY-MM-dd HH:mm:ss.SSSSSS"]
}

在 Kibana 中格式化

【问题讨论】:

    标签: elasticsearch logstash kibana elk


    【解决方案1】:

    不,logstash 仅支持毫秒精度。当 elasticsearch 开始支持纳秒精度时,logstash 没有进行相应的更改。 github 上有两个未解决的问题要求进行更改,herehere

    Logstash::Timestamp 类只支持毫秒精度,因为它包装的 Joda 只支持毫秒。其中一个问题提到了从 Joda 迁移到本地 Java 处理时间/日期。 logstash 期望 [@timestamp] 是一个 Logstash::Timestamp(例如,sprintf 引用假设这个)

    您可以使用另一个字段名称,使用模板在 elasticsearch 中将类型设置为 date_nanos 并在 logstash 中将其作为字符串处理。

    【讨论】:

    • 嗨,限制是专门针对日期过滤插件的,不是吗?是否有另一种方法可以在不使用它的情况下修改时间戳字段?
    • 已编辑答案以解决该问题。简而言之,“不”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-19
    • 1970-01-01
    • 1970-01-01
    • 2015-09-27
    相关资源
    最近更新 更多