You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`--indicesdelete-check-snapshots`|`INDICESDELETE_CHECK_SNAPSHOTS`| Проверять наличие валидных снапшотов перед удалением индексов, которые должны иметь снапшоты. Если `true` и не удалось получить информацию о снапшотах или `snap-repo` не настроен, джоба завершается с ошибкой |`true`|
275
+
|`--snap-repo`|`SNAPSHOT_REPOSITORY`| Название репозитория для снапшотов (обязателен если `indicesdelete-check-snapshots=true`) | (пусто) |
268
276
|`--dry-run`|`DRY_RUN`| Показать удаляемые индексы без удаления |`false`|
269
277
278
+
**Ключи в конфиг файле:**
279
+
-`indicesdelete_check_snapshots`
280
+
-`snapshot_repo`
281
+
270
282
В режиме multitenancy список тенантов берется из `--kibana-tenants-config` (`KIBANA_TENANTS_CONFIG`), файл обязателен.
# osctl - Инструмент управления жизненным циклом индексов и снапшотов OpenSearch
2
2
3
-
По-умолчанию предполагается использование `config.yaml` в котором описаны параметры запуска. Для автоматического выполнения команд можно использовать параметр `action`.
3
+
Ключевые функции в сравнении с iml - время создания снапшотов и индексов зашивается в конец их названия, сами снапшоты и индексы формируются логстешом. Политика ротации настраивается в одном месте конфигом. В конфиге прописываются для каждого интересующего нас префикса своя политика - сколько дней храним в кластере и сколько дней храним снапшоты каждого дня. Все индексы которые не попали в паттерны - управляются политикой unknown. Все делается кронджобами.
4
4
5
-
Все, что указано в конфгиах можно переопределять через флаги, а также большинство команд поддерживают `--dry-run`.
5
+
Фактически это замена curator с только нужными нам функциями.
6
6
7
-
## Быстрый старт
7
+
Также есть ряд команд, которые решают специфичные проблемы - такие как вычисление оптимального числа шардов или автосоздание индекспаттернов.
8
8
9
-
### Использование с параметром action (рекомендуется)
10
-
```bash
11
-
# Создать config.yaml с нужной командой
12
-
cat > config.yaml <<EOF
13
-
action: "snapshots"
14
-
opensearch_url: "https://your-opensearch:9200"
15
-
cert_file: "/path/to/cert.pem"
16
-
key_file: "/path/to/key.pem"
17
-
EOF
9
+
По-умолчанию предполагается использование `config.yaml` в котором описаны параметры запуска и запуск через кронджобы с указанием команды.
18
10
19
-
# Запустить osctl - команда выполнится автоматически
logger.Info(fmt.Sprintf("Indices skipped (no date in name) count=%d list=%s", len(indicesWithoutDateForLog), strings.Join(indicesWithoutDateForLog, ", ")))
96
122
}
97
123
124
+
iflen(indicesOlderThanRetentionPeriod) >0 {
125
+
logger.Info(fmt.Sprintf("Indices older than retention period (days_count) count=%d list=%s", len(indicesOlderThanRetentionPeriod), strings.Join(indicesOlderThanRetentionPeriod, ", ")))
126
+
} else {
127
+
logger.Info("Indices older than retention period (days_count): none")
128
+
}
129
+
130
+
iflen(indicesRequiringSnapshotCheck) >0 {
131
+
logger.Info(fmt.Sprintf("Indices requiring snapshot check (older than days_count but not older than snapshot_count_s3) count=%d list=%s", len(indicesRequiringSnapshotCheck), strings.Join(indicesRequiringSnapshotCheck, ", ")))
0 commit comments