¿Hay alguna manera de supervisord
reiniciar automáticamente un trabajo fallido / salido / terminado y enviarme un correo electrónico de notificación con un volcado de las últimas x líneas del archivo de registro?
fuente
¿Hay alguna manera de supervisord
reiniciar automáticamente un trabajo fallido / salido / terminado y enviarme un correo electrónico de notificación con un volcado de las últimas x líneas del archivo de registro?
Hay un complemento llamado superlance.
Lo instala pip install superlance
o lo descarga en: http://pypi.python.org/pypi/superlance
Lo siguiente que debes hacer es entrar en tu supervisord.conf
y agregar las siguientes líneas:
[eventlistener:crashmail]
command=/usr/local/bin/crashmail -a -m [email protected]
events=PROCESS_STATE
Esto debe ser seguido por una "actualización de supervisorctl". Cuando un proceso "finaliza", ahora recibirá una notificación enviada a [email protected].
Si solo desea escuchar algunas aplicaciones seleccionadas, puede cambiarlas -a
por -p program1
o si es un grupo. group1:program2
Un ejemplo sería
[eventlistener:crashmail]
command=/usr/local/bin/crashmail -p program1 -p group1:program2 -m [email protected]
events=PROCESS_STATE
Con respecto al reinicio automático: debe asegurarse de que autorestart
esté configurado en true
(está configurado unexpected
de forma predeterminada). De esta manera, el paquete se reiniciará 3 veces. Si después de eso todavía sale, se da por vencido, pero puede cambiar eso con startretries
.
Programa de ejemplo:
[program:cat]
command=/bin/cat
autorestart=true
startretries=10
Intenté instalar superlance y ejecutar crashmail de esta manera:
después de que lo haga:
y luego agregué:
y no recibo nada ...
Mi archivo crashmail es:
fuente