Monitoraggio automatico del backup

Abbiamo backup automatici configurati. Per quanto ne so, funzionano senza problemi, ma vorremmo monitorarli con un semplice servizio, come https://healthchecks.io, per esserne sicuri.

C’è un modo per configurare una semplice chiamata alla loro API per confermare che un backup è stato completato? Qualcosa del genere:

curl -m 10 --retry 5 https://hc-ping.com/your-uuid-here

Mi chiedo se ci sia un hook pre-backup e/o post-backup completato a cui posso collegare questo?

Grazie

Puoi fare il reverse engineering dell’API di Discourse per ottenere un elenco di backup e poi dovresti fare qualcosa per vedere qual è stato l’ultimo e da quanto tempo è lì.

Riceverai una notifica se un backup fallisce.
L’unico problema che ho mai avuto è stato quando i backup erano programmati nello stesso momento dei riavvii del sistema di marketing personalizzato automatizzato.

Per come la vedo io, funziona quando c’è un backup del database dietro le quinte (perché una volta al giorno non è abbastanza, vero?) e poi il sistema di avviso integrato è in ritardo, al massimo di 24 ore. Ma funzionerebbe come sistema di allerta precoce se Discourse non funzionasse a causa di un database difettoso, ma a causa della cache gli utenti non se ne accorgerebbero subito.

Sto dicendo una sciocchezza totale? O ci sono vicino?

Grazie. Se non c’è modo di impostare un “hook” dopo che un backup è stato completato, allora penso che l’idea di fare reverse engineering dell’API di discourse per trovare il backup più recente sia probabilmente la strada da percorrere, e poi avremo il pieno controllo su cosa fare se un backup non ha funzionato… ma se si potesse aggiungere un hook (comando web o shell) post-backup, sarebbe l’ideale.

Grazie per il tuo aiuto :+1:

Se vuoi chiamare un hook dopo che il backup è stato eseguito, penso che dovresti creare un plugin.

Stai davvero suggerendo che un backup fallito sia il modo in cui vuoi sapere se Discourse è inattivo?

/srv/status ti dà una buona idea, anche se Discourse può rompersi in modi che non si riflettono in esso. Indicherà se il database è rotto.

Non sto suggerendo altro se non di eseguire il backup del database più spesso di una volta al giorno. Stavo solo pensando che un’email a causa di un errore di backup fungerebbe anche da campanello d’allarme.

No, non lo fa. Dice “ok” finché hai rails, Redis e nginx.

root@testbeta:~# service postgresql stop
root@testbeta:~# curl https://testbeta.*************.***/srv/status & && echo
ok
2 Mi Piace

Interessante. Forse se postgres è giù quando Rails si avvia, non riuscirà ad avviarsi.

1 Mi Piace