Automatizar snapshots e retenção com SLM, monitorar o progresso dos snapshots
ElasticsearchSnapshotComando
# Take a snapshot every night at 01:30, keep for 30 days (at least 7, at most 60 snapshots):
PUT _slm/policy/gece-yedek
{
"schedule": "0 30 1 * * ?",
"name": "<gece-{now/d}>",
"repository": "yedek_repo",
"config": { "indices": ["*"], "include_global_state": true },
"retention": { "expire_after": "30d", "min_count": 7, "max_count": 60 }
}
# Run the policy now and see success/failure statistics:
POST _slm/policy/gece-yedek/_execute
GET _slm/stats
# Snapshot in progress and per-shard progress:
GET _snapshot/yedek_repo/_current
GET _snapshot/yedek_repo/_status
GET _cat/snapshots/yedek_repo?v&s=end_epoch:desc
# Verify that the repository is writable from all nodes:
POST _snapshot/yedek_repo/_verifyO que faz
Define uma política SLM que faz snapshots em um agendamento cron e apaga os antigos de acordo com uma regra de retenção; mostra o progresso por shard de um snapshot em execução, os snapshots anteriores e a acessibilidade do repositório.
Quando usar
Ao configurar backups regulares, em um alerta de que o snapshot noturno falhou ou ao estimar quando um snapshot de longa duração vai terminar.
Atenção
O agendamento é avaliado em UTC. Se mais de um cluster gravar no mesmo repositório, ou o repositório estiver registrado como gravável em outro cluster, ele pode ser corrompido; use readonly: true nos outros clusters. A retenção apaga apenas snapshots feitos pelo SLM. include_global_state true também pode restaurar templates e configurações persistentes do cluster durante um restore.