Elasticsearch - удалить старый источник в GrayLog2

Во-первых, я должен сказать, что я новичок в curl, поэтому я спрашиваю здесь

У меня есть несколько источников в GrayLog2:

и хочу убрать их всех

Используется curl для удаления источника "12:00:02:"

curl -XDELETE 'http://127.0.0.1:9200/graylog2_*/message/_query' -d ' {"query_string" : { "default_field" : "host", "query" : "12:00:02:" } }'

но получил неудачу

{"_indices":{"graylog2_0":{"_shards":{"total":1,"successful":0,"failed":1,"failures":[{"index":"graylog2_0","shard":0,"reason":"QueryParsingException[[graylog2_0] request does not support [query_string]]"}]}}}}

Кто-нибудь может помочь мне с правильной командой curl?

1 ответ

Решение

Ты просто скучаешь по первому query ключевое слово. Измените свой запрос на этот

curl -XDELETE 'http://127.0.0.1:9200/graylog2_*/message/_query' -d ' {"query": {"query_string" : { "default_field" : "host", "query" : "12:00:02:" } } }'
                                                                         ^
                                                                         |
                                                                  this was missing

Также вы можете использовать этот эквивалентный запрос

curl -XDELETE 'http://127.0.0.1:9200/graylog2_*/message/_query?q=host:"12:00:02:"'

Но если вы хотите удалить их все, вы также можете использовать этот запрос

curl -XDELETE 'http://127.0.0.1:9200/graylog2_*/message/_query?q=host:*'
Другие вопросы по тегам