Monitoramento automático de backup

Temos backups automáticos configurados. Pelo que sei, eles estão funcionando sem problemas, mas gostaríamos de monitorá-los com um serviço simples, como https://healthchecks.io, para ter certeza.

Existe alguma maneira de configurar uma chamada simples para a API deles para confirmar que um backup foi concluído? Algo como isto:

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

Estou imaginando se existe um hook pré-backup e/ou pós-backup concluído no qual eu possa conectar isso?

Obrigado

Você pode fazer engenharia reversa da API do Discourse para obter uma lista de backups e, em seguida, precisaria fazer algo para ver qual foi o mais recente e há quanto tempo ele está lá.

Você receberá uma notificação se um backup falhar.
O único problema que já tive foi quando backups foram agendados ao mesmo tempo que reinicializações do sistema de marketing personalizado automatizado.

Pelo que vejo, isso funciona quando há uma programação de backup de banco de dados nos bastidores (porque uma vez por dia não é suficiente, certo?) e então o sistema de aviso integrado fica para trás, no máximo 24 horas. Mas funcionaria como um sistema de alerta precoce se o Discourse estivesse inativo por falha no banco de dados, mas como o cache os usuários não veem isso imediatamente.

Estou totalmente errado? Nem um pouco?

Obrigado. Se não houver como definir um “hook” após a conclusão de um backup, então acho que a ideia de fazer engenharia reversa da API do Discourse para encontrar o backup mais recente é provavelmente o caminho a seguir, e então teremos controle total sobre o que fazer se um backup não funcionou… mas se um hook (comando web ou shell) pudesse ser adicionado pós-backup, isso seria o ideal.

Obrigado pela sua ajuda :+1:

Se você quiser chamar um hook após o backup ser concluído, acho que você precisaria criar um plugin.

Você está realmente sugerindo que um backup falho é como você quer saber se o Discourse está inativo?

/srv/status lhe dá uma ideia muito boa, embora o Discourse possa quebrar de maneiras que não são refletidas por isso. Ele indicará se o banco de dados está quebrado.

Não estou sugerindo nada além de fazer backup do banco de dados com mais frequência do que uma vez por dia. Eu estava apenas pensando em um e-mail por causa de um erro no backup que serviria como um sino de alarme TAMBÉM.

Não, não indica. Ele diz “ok” desde que você tenha rails, Redis e nginx.

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

Interessante. Talvez se o postgres estiver inativo quando o Rails iniciar, ele falhará ao iniciar.

1 curtida