Verificación¶
Un respaldo que nadie ha restaurado es una esperanza. Tenax restaura tus respaldos según un calendario, los comprueba y marca como verificados los que pasan.
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
Según el calendario, el controlador crea un Restore en un sandbox desde el último respaldo y, cuando hay flujos,
desde un punto aleatorio de la ventana. Después ejecuta las comprobaciones:
| Comprobación | Pasa cuando |
|---|---|
inventory-matches |
Las tablas restauradas y la huella del esquema coinciden con el inventario del respaldo. |
schema-matches |
La huella del esquema coincide. |
row-estimates-within-NNpct |
El número de filas de cada tabla está dentro del NN % de la estimación del inventario. |
target-checks |
Cada comprobación SQL declarada en el objetivo devuelve true. |
Las comprobaciones del objetivo son SQL simple que debe devolver un ú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
Una ejecución que pasa etiqueta el respaldo como verified y registra el tiempo de restauración, exportado como
tenax_verify_rto_seconds. Una que falla dispara TenaxVerificationFailed; si no hay ninguna ejecución correcta en
8 días, se dispara TenaxVerificationOverdue. Lanza una a mano con tenax verify team-a/app --wait, o con
Verificar ahora en la página del objetivo.