Supervisión automática de copias de seguridad

Tenemos copias de seguridad automáticas configuradas. Por lo que sé, se están ejecutando sin problemas, pero nos gustaría monitorizarlas con un servicio sencillo, como https://healthchecks.io, para estar seguros.

¿Hay alguna forma de configurar una llamada sencilla a su API para confirmar que una copia de seguridad se ha completado? ¿Algo como esto?

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

Me pregunto si hay algún hook previo y/o posterior a la copia de seguridad que pueda utilizar para esto.

Gracias

Puedes realizar ingeniería inversa de la API de Discourse para obtener una lista de copias de seguridad y luego necesitarías hacer algo para ver cuál fue la última y cuánto tiempo ha estado allí.

Recibirás una notificación si una copia de seguridad falla.
El único problema que he tenido es cuando las copias de seguridad se programaron al mismo tiempo que los reinicios del sistema de marketing personalizado automatizado.

Según lo veo, funciona cuando hay una programación de respaldo de base de datos entre bastidores (porque una vez al día no es suficiente, ¿verdad?) y luego el sistema de advertencia incorporado se retrasa, como máximo 24 horas. Pero funcionaría como un sistema de alerta temprana si Discourse no funciona debido a que la base de datos falla, pero debido al almacenamiento en caché, los usuarios no lo ven de inmediato.

¿Estoy totalmente equivocado? ¿Ni de cerca?

Gracias. Si no hay forma de configurar un “hook” después de que se haya completado una copia de seguridad, entonces creo que la idea de hacer ingeniería inversa de la API de Discourse para encontrar la copia de seguridad más reciente es probablemente el camino a seguir, y entonces tendremos control total sobre qué hacer si una copia de seguridad no ha funcionado… pero si se pudiera añadir un hook (comando web o de shell) después de la copia de seguridad, sería ideal.

Gracias por tu ayuda :+1:

Si quieres llamar a un hook después de que se complete la copia de seguridad, creo que necesitarías crear un plugin.

¿Realmente estás sugiriendo que una copia de seguridad fallida es la forma en que quieres saber si Discourse está caído?

/srv/status te da una idea bastante buena, aunque Discourse puede fallar de maneras que no se reflejan en eso. Indicará si la base de datos está rota.

No sugiero nada más que hacer una copia de seguridad de la base de datos con más frecuencia que una vez al día. Solo estaba pensando que un correo electrónico debido a un error de copia de seguridad actuaría como una señal de advertencia TAMBIÉN.

No, no lo hace. Dice “ok” siempre que tengas rails, Redis y nginx.

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

Interesante. Quizás si postgres está caído cuando Rails arranca, fallará al iniciarse.

1 me gusta