2017-10-13 7 views
0

Je tente de me débarrasser des messages de débogage syslog après un certain laps de temps. La requête est en cours d'exécution sans erreurs, mais la suppression de toutes les données isnt:Elasticsearch supprimer les messages syslog de débogage de plus de x jours et avec un certain terme

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" 
        } 
       } 
      } 
     } 
    } 
}' 
+0

Quelle version de ES avez-vous? – Val

+0

Elasticsearch Version est 5.6.2 – Mike

+0

Si vous utilisez cette requête avec le point de terminaison '_search', combien de résultats obtenez-vous? – Val

Répondre

0

Pas vraiment la réponse qui a été résolu selon un commentaire (en utilisant un caractère générique), mais permettez-moi de dire quelque chose.

Si vous avez l'intention de purger tous les jours les documents anciens de niveau de débogage alors je vous recommande d'utiliser différents indices:

Un pour les trace, debug niveaux et un autre pour les autres. Ensuite, lorsque vous avez besoin de purger les anciennes données, il suffit de supprimer l'index comme DELETE logstash-syslog-vmware-debug-2017-10-13.

Ce sera beaucoup plus efficace.

Si c'était seulement une opération go, alors ne hésitez pas à me ignorer :)