【问题标题】:How logstash process field for ES date_range type?ES date_range 类型的logstash如何处理字段?
【发布时间】:2021-04-19 13:57:09
【问题描述】:

这里是目标 Elasticsearch 索引的映射:

"mappings": {
"_doc": {
    "properties": {
        "start_time": {
            "format": "epoch_millis",
            "type": "date"
        },
    "channel": {
        "type": "keyword"
    },
    "end_time": {
        "format": "epoch_millis",
        "type": "date"
    },
    "range_time": {
        "format": "epoch_millis",
        "type": "date_range"
    }
    }
}
}

这是我相关的logstash配置文件:

filter {
mutate {
    split => ["message", "|"]
    add_field => {
        "start_time" => "%{[message][1]}"
        "end_time" => "%{[message][2]}"
        "channel" => "%{[message][5]}"
        **"range_time" => [
             "%{[message][1]}",
             "%{[message][2]}"
        ]**
        }
    remove_field => "message"
    }
}

output {
    stdout { codec => rubydebug }
    elasticsearch {
        hosts => [ "localhost" ]
        index => "test_live"
    }
}

我的问题是如何编写“range_time”=> 部分 ([mutate][add_field][range_time]) 以将 date_range 类型的数据发送到 ES。 在控制台中,我得到了这样的输出:

{
"@timestamp" => 2021-04-19T01:46:40.617Z,
"start_time" => "20210401001401",
"end_time" => "20210401001408",
"range_time" => [
    [0] "20210401001401",
    [1] "20210401001408"
],
"host" => "localhost.localdomain",
"channel" => "SCTV-2",
"path" => "/**/",
"@version" => "1"

}

但输出无法正确写入数据到索引。 我怎么能这样做?

【问题讨论】:

    标签: elasticsearch logstash


    【解决方案1】:

    date_range 字段包含两个名为 gtelte 的字段。

    所以你只需要这样做:

    add_field => {
      ...
      "[range_time][gte]" => "%{[message][1]}"
      "[range_time][lte]" => "%{[message][2]}"
    }
    

    【讨论】:

    • 已经成功发送数据。谢谢!
    • 我还有一个关于 date_range 字段的问题。我认为 kibana 无法识别 ES date_range 类型,我在 kibana 仪表板和发现中找不到该字段。对这种情况有任何想法吗?
    • 没错,目前还不支持:github.com/elastic/kibana/issues/33762
    • 我会说。非常感谢您回答我的问题并与我分享您的知识。祝你有美好的一天。
    • 有空的时候可以看看我的新问题吗?谢谢。
    猜你喜欢
    • 2011-02-03
    • 1970-01-01
    • 2017-12-06
    • 1970-01-01
    • 1970-01-01
    • 2013-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多