Удалить эластичные поисковые индексы на основе созданного времени - PullRequest
0 голосов
/ 21 февраля 2019

У меня вопрос по поводу удаления индексов по дате_форманта (дата создания).Я используюasticsearch 6.4

Например, у меня есть структура индексов, как показано ниже:

logstash-2019.03.21
logstash-2019.03.20
logstash-2019.03.15
logstash-2019.03.10
logstash-2019.03.12

Я хочу удалить индексы (не документы) скажемНа 3 дня старше.любая помощь?

ПРИМЕЧАНИЕ: я также использовал различные способы, например.

  1. с использованием математики даты: query {index: '% 3Clogstash-% 7Bnow-3d% 7D% 3E«}.таким образом, он применяется только к одному индексу.

2.

let query = {
  index: 'logstash*',
  headers: null,
  body: {
    query: {
      range: {
        '@timestamp': {
          lt: 'now-2d'
        },
      },
    },
  },
};

удаляет документы, а не индексы.

Я не (не хочу) использовать Elasticsearch-куратор.

1 Ответ

0 голосов
/ 22 февраля 2019

По какой причине ты не идешь куратором?Он хорошо работает для того, чтобы содержать мой кластер.

Если вам действительно не нравится куратор, сценарий оболочки может помочь.

#!/bin/bash

curl -XDELETE <YOUR_ELASTICSEARCH_URL>/logstash-$(date -d '-1 day' '+%Y.%m.%d')
curl -XDELETE <YOUR_ELASTICSEARCH_URL>/logstash-$(date -d '-2 day' '+%Y.%m.%d')
curl -XDELETE <YOUR_ELASTICSEARCH_URL>/logstash-$(date -d '-3 day' '+%Y.%m.%d')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...