gpt4 book ai didi

Elasticsearch 每月滚动指数

转载 作者:行者123 更新时间:2023-11-29 02:48:16 25 4
gpt4 key购买 nike

我一直在使用 logstash 在 elasticsearch 中提供每日滚动索引,就像这样

   output {

elasticsearch {

....
index: myindex-%{+YYYY.MM.DD}
}
}

在查看了 http://logstash.net/docs/1.4.1/outputs/elasticsearch.html#index 之后,我发现我需要改用每月滚动指数

但是我还是觉得很迷茫,那么答案是不是简单到用myindex-%{+YYYY.MM}代替,索引会在每个月底滚动?

更新:以下是“相同”事件(具有相同 _id 字段)在两个不同日期编入索引的示例

在第 A 天,这是索引

   {_id: 123, message: "old message}

在第二天 B,这是索引

   {_id: 123, message: "updated message} 

所以如果 A 天和 B 天属于两个单独的索引,如果我的查询回顾所有这些索引,我将有 2 个事件。为了消除重复,在索引事件 B 时,我将使用 _id 进行额外的检查查询并删除先前存在的事件 A,然后对 B 进行索引。如果它是每日索引,随着时间的推移,我会恐怕我对 _id 搜索的查询会更昂贵,每月可以改进。最后但同样重要的是,如果从我的检查中发现的事件存在于当前索引中(今天到本月的),它不会删除该事件,但让 elasticsearch 根据 _id 执行 update (本质上它也是一个删除/创建,只是我不需要在我的代码中这样做)

谢谢

最佳答案

您提供的配置会发生事件的时间戳。如果你没有做额外的配置,日志存储接收事件的时间。但是,获取事件本身内的时间戳通常很有用。比这个时间戳被使用。下面是一些我经常使用的示例代码。

filter {
date {
match => ["timestamp" , "dd/MMM/yyyy:HH:mm:ss Z"]
}
}
output {
elasticsearch {
protocal => "transport"
host => "localhost:9300"
cluster => "mycluster"
index => "gridshore-logs-%{+YYYY.MM}"
}
}

关于Elasticsearch 每月滚动指数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31016101/

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