Elasticsearch删除超过x天且具有特定术语的调试系统日志消息

时间:2017-10-13 10:08:06

标签: elasticsearch

我试图在一段时间后摆脱调试系统日志消息。 查询运行时没有错误,但没有删除任何数据:

curl -XPOST 'localhost:9200/logstash-syslog-vmware/_delete_by_query?pretty' -H 'Content-Type: application/json' -d '
{
    "query": {
        "bool" : { 
            "must" : {
                "match" : {
                    "syslog_severity" : "debug" }
                }, 
            "filter" : { 
                "range" : {
                    "@timestamp" : { 
                        "gt" : "2017-10-13T09:00:00", 
                        "lt" : "2017-10-13T11:30:00"
                    }
                }
            }
        }
    }
}'

1 个答案:

答案 0 :(得分:0)

根据评论(使用通配符)并没有真正解决的答案,但让我说些什么。

如果您打算每天清除调试级别的旧文档,那么我建议使用不同的索引:

一个用于tracedebug级别,另一个用于其他级别。 然后,当您需要清除旧数据时,只需删除DELETE logstash-syslog-vmware-debug-2017-10-13之类的索引即可。

它会更有效率。

如果它只是一次性操作,那么随意忽略我:)