Weryfikacja¶
Kopia zapasowa, której nikt nie przywrócił, to tylko nadzieja. Tenax przywraca Twoje kopie zapasowe według harmonogramu, sprawdza je i oznacza te, które przejdą sprawdzenia, jako zweryfikowane.
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
Zgodnie z harmonogramem kontroler tworzy Restore do piaskownicy z najnowszej kopii zapasowej, a gdy istnieją
strumienie, także do losowego punktu w oknie. Następnie uruchamia sprawdzenia:
| Sprawdzenie | Przechodzi, gdy |
|---|---|
inventory-matches |
Przywrócone tabele i odcisk schematu zgadzają się z inwentarzem kopii zapasowej. |
schema-matches |
Odcisk schematu się zgadza. |
row-estimates-within-NNpct |
Liczba wierszy każdej tabeli mieści się w NN % szacunku z inwentarza. |
target-checks |
Każde sprawdzenie SQL zadeklarowane w celu zwraca true. |
Sprawdzenia celu to zwykły SQL, który musi zwrócić pojedynczą wartość 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
Udane uruchomienie oznacza kopię zapasową jako verified i zapisuje czas przywracania, eksportowany jako
tenax_verify_rto_seconds. Nieudane uruchamia alert TenaxVerificationFailed; brak udanego uruchomienia przez 8 dni
uruchamia TenaxVerificationOverdue. Uruchom weryfikację ręcznie przez tenax verify team-a/app --wait lub
przyciskiem Zweryfikuj teraz na stronie celu.