2014-11-13 4 views
0

Я использую logstash для хранения журналов. Я хотел бы удалить все записи logstash типа 'error'. Я проверил API-интерфейс «Удалить по запросу», но я не могу понять, как сделать то, что я хочу в этой ситуации. Любые указатели?Удалить все типы по всем индексам

+0

Что вы имеете в виду под «logstash записей типа «ошибка»? Является ли это индексом, типом в индексе? –

+0

«error» - это тип для нескольких индексов logstash. –

ответ

1

Если индексы Logstash названы logstash-%{+YYYY.MM.dd} попробовать это:

DELETE /logstash*/error или DELETE /logstash*/_query?q=_type:error

Просто чтобы быть на безопасной стороне, сделайте резервную копию данных, прежде чем пытаться это. В моих тестах оба этих запроса удаляли только error типа под всем индексом logstash.

+0

Второй запрос работал для меня. 'DELETE logstash */_ query? Q = _type: error'. Благодаря! –

1

Если вы не хотите делать это вручную, есть утилита командной строки, написанная на python, которая удаляет, закрывает, оптимизирует и отключает фильтр цветения для повышения производительности и использования ресурсов.

Это позволит вам написать cronjob, который будет делать это периодически без вмешательства человека.

Подробности о куратором можно узнать по адресу: https://github.com/elasticsearch/curator

Например, чтобы удалить индексы, которые старше 90 дней использовать следующую команду

$curator delete --older-than 90

Смежные вопросы