gpt4 book ai didi

elasticsearch - 基于logstash中已转换的unix时间戳记的值的索引

转载 作者:行者123 更新时间:2023-12-03 01:48:22 29 4
gpt4 key购买 nike

我需要根据UNIX时间戳(自纪元以来的秒数)字段的值对记录进行索引,但是索引必须采用YYYY-MM-dd的形式。但是,timestamp字段的值需要保留UNIX时间戳。

所以问题是两个部分。

  • 如何在不破坏UNIX时间戳的情况下将时间戳文件转换为YYYY-MM-dd
  • 如何将YYYY-MM-dd值应用于索引?

  • 这是我到目前为止所拥有的。
    input {
    tcp {
    port => 5000
    }
    }

    filter {
    csv {
    separator => " " # <- this white space is actually a tab
    skip_empty_columns => true
    # other fields omitted for brevity
    columns => ["timestamp"]
    }

    #grok {
    # match => {"indexdate" => "%{NUMBER:timestamp}"}
    #}

    date {
    match => ["timestamp", "YYYY-MM-DD"]
    target => "@timestamp"
    }

    mutate {
    # omitted for brevity
    remove_field => []
    }
    }

    output {
    elasticsearch {
    hosts => "elasticsearch:9200"
    index => "indexname-%{+YYYY-MM-dd}"
    }
    }

    我做了几次不同的 mock 尝试,但到目前为止还没有运气。

    最佳答案

    只需像这样更改date过滤器,它就可以工作。您在date过滤器中使用的模式应与您要解析的字段的模式匹配,因为您有一个纪元秒,所以该模式应为UNIX:

    date {
    match => ["timestamp", "UNIX"]
    target => "@timestamp"
    }

    请注意,您可能需要在 convert过滤器中添加 csv设置,以确保 timestamp字段为整数
    csv {
    ...
    convert => { "timestamp" => "integer" }
    }

    关于elasticsearch - 基于logstash中已转换的unix时间戳记的值的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42251758/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com