He usado Daemontools para proporcionar una forma simple y confiable de supervisar los servicios de Unix en mis servidores. Funciona bien, pero requiere una forma diferente de pensar ( The DJB Way ) y algunas quejas comunes son:
- Marcas de tiempo basadas en TAI64N
- No almacena scripts en /etc/init.d (o (/usr/local)/etc/rc.d)
- No siempre funciona con scripts como apachectl. Algunas secuencias de comandos deben reescribirse.
Recuerdo que algunos demonios similares de "supervisor / vigilante" estaban en proceso hace unos dos años, pero algunos todavía eran un poco difíciles.
Si ha cambiado de Daemontools a otra cosa, ¿qué eligió y funcionó bien para usted? ¿RedHat o Ubuntu vienen con alguna utilidad de supervisión de procesos por defecto?
fuente
runsv
comando derunit
admite controles personalizados, por lo que un reinicio podría implementarse en términos de los binarios de control nativos de un demonio.Bueno, hay runit . No puedo decirte cuáles son sus diferencias y similitudes con Daemontools, pero a juzgar por el sitio web Berstein-esque, diría que existe una influencia definitiva de Bernstein.
fuente
Fedora parece lista para cambiar a systemd: http://0pointer.de/blog/projects/systemd.html
fuente
Como alternativa al ya mencionado
daemonize
ydaemontools
, existe el comando daemon del paquete libslack.daemon
es bastante configurable y se preocupa por todas las tediosas cosas del demonio, como el reinicio automático, el registro o el manejo de archivos pid.fuente
Hay supervisor
fuente
También hay una herramienta de demonio de libslack que está escrita en C y disponible para varias plataformas (Unix).
Es bastante configurable y se preocupa por todas las tediosas cosas del demonio, como el reinicio automático, el registro o el manejo de archivos pid.
fuente
Ubuntu viene con Upstart : no sé mucho al respecto, pero sé que tiene capacidades de "supervisor". El lanzamiento de Apple es otra opción (ese artículo de Wikipedia tiene una buena sección de "ver también" que enumera muchos otros, incluidos Upstart y RunIt).
Todos ellos tienen sus puntos buenos y su propia marca especial de übersuck. Siempre que alguien me pregunta sobre los programas de "supervisor de procesos" / "perro guardián", siempre hago la misma pregunta: ¿Por qué necesita uno?
fuente
No hay herramientas populares / de consenso comunitario para esto porque todos los que siguen este camino se dan cuenta de que es un callejón sin salida. Si sus procesos de larga ejecución fallan con demasiada frecuencia para que el monitoreo simple sea lo suficientemente bueno, deje de usarlos y mueva su código dentro de algo que estará más impulsado por eventos.
editar: como Chris señala a continuación, a veces estás completamente acorralado, en cuyo caso un trabajo cron * / 1 que busca el proceso / pidfile, ejecuta un inicio / reinicio si falta, y envía los resultados en un correo electrónico al responsable desarrollador / gerente de producto es su posición alternativa.
fuente