如何在logstash过滤器中添加自动删除字段



我正试图在logstash中添加一个_ttl字段,以便弹性搜索在一段时间后删除文档,在这种情况下是120秒,但这是为了测试。

filter {
if "drop" in [message] {
drop { }
}
add_field => { "_ttl" => "120s" }
}

但现在elasticsearch中没有任何记录。

我有两个问题。哪里记录了问题,可能是过滤器的语法错误?

如何添加ttl字段以进行自动删除的弹性搜索?

当您使用赋值函数向logstash.conf添加过滤器时,它会起作用:

filter {
mutate {
add_field => { "_ttl" => "120s" }
}
}
POST myindex/_search
{
"query": {
"match_all": {}
}
}

结果:

"hits": [
{
"_index": "myindex",
...................
"_ttl": "120s",

对于另一个问题,我真的无能为力。我将logstash作为容器运行,因此日志记录是用读取的

docker logs d492eb3c3d0d

最新更新