Saltar a contenido

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.

in a BackupPolicy
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:

in a BackupTarget
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.