Verificação¶
Um backup que ninguém restaurou é só uma esperança. O Tenax restaura os seus backups em um agendamento, confere-os e marca os aprovados como verificados.
spec:
verify:
schedule: "17 4 * * 0" # weekly, Sunday 04:17 in the policy's time zone
checks: [inventory-matches, row-estimates-within-10pct, target-checks]
randomPointInTime: true # also restore a random second inside the window
No horário agendado, o controlador cria um Restore em um sandbox a partir do backup mais recente e, quando existem
streams, a partir de um ponto aleatório da janela. Depois executa as checagens:
| Checagem | Passa quando |
|---|---|
inventory-matches |
As tabelas restauradas e a impressão digital do schema batem com o inventário do backup. |
schema-matches |
A impressão digital do schema bate. |
row-estimates-within-NNpct |
A contagem de linhas de cada tabela fica dentro de NN % da estimativa do inventário. |
target-checks |
Toda checagem SQL declarada no alvo retorna true. |
As checagens do alvo são SQL simples que deve retornar um único valor true:
spec:
checks:
- name: orders-not-empty
database: app
sql: select count(*) > 0 from orders
- name: recent-orders
database: app
sql: select max(created_at) > now() - interval '2 days' from orders
Uma execução aprovada marca o backup como verified e registra o tempo de restauração, exportado como
tenax_verify_rto_seconds. Uma execução reprovada dispara TenaxVerificationFailed; nenhuma execução bem-sucedida em
8 dias dispara TenaxVerificationOverdue. Execute uma manualmente com tenax verify team-a/app --wait, ou com
Verificar agora na página do alvo.