Supervisor: Etiquetado de registros de diferentes procesos

Creado en 13 abr. 2016  ·  5Comentarios  ·  Fuente: Supervisor/supervisor

Estoy ejecutando 3 procesos usando supervisord, un nginx, un nodejs api y un sidekiq, ¿hay alguna forma de etiquetar los registros para que luego pueda filtrar solo los registros que provienen de la API de nodejs, o del sidekiq, etc.?

EDITAR

Quiero que todos los registros entren en stdout porque estoy ejecutando esto dentro de un contenedor de Docker

Gracias

logging question

Comentario más útil

Preguntándome lo mismo que @ katsar0v . ¿Alguna solución alternativa a esto?

Todos 5 comentarios

El complemento supervisor-stdout imprimirá los mensajes de registro del subproceso en la salida estándar con el prefijo del nombre del subproceso.

También puede imprimir mensajes de registro de subprocesos en stdout configurando loglevel = debug en supervisord.conf , pero eso también imprimirá mucha otra información de depuración.

@mnaberez Desafortunadamente, supervisor-stdout no funciona con el supervisor instalado a través de apt-get en Ubuntu 16.04. Lanza el error Error: supervisor_stdout:event_handler cannot be resolved within [eventlistener:stdout] .

La alternativa (instalar a través de pip) es mucho más engorrosa. Pude ejecutarlo con algo como esto:

/path/to/supervisord -c /path/to/supervisord.conf

funcionando correctamente:

stdout                           RUNNING   pid 1294, uptime 0:03:16
tornado-8000                     RUNNING   pid 1295, uptime 0:03:16
tornado-8001                     RUNNING   pid 1296, uptime 0:03:16

pero no antepone el nombre del subproceso. Si uso

[supervisord]
nodaemon = true

en mi archivo de configuración, obtengo el prefijo que se muestra en la salida, pero no está escrito en los archivos de registro.

Estoy usando una configuración bastante estándar (un par de procesos tornado y supervisor_stdout) con:

[program:tornado-8000]
command = /path/to/python myfile.py
stdout_events_enabled = true
stderr_events_enabled = true
...

[eventlistener:stdout]
command = /path/to/supervisor_stdout
buffer_size = 100
events = PROCESS_LOG
result_handler = supervisor_stdout:event_handler

¿Hay alguna actualización sobre este problema o una solución alternativa?

Preguntándome lo mismo que @ katsar0v . ¿Alguna solución alternativa a esto?

Buscando una solución a esto también.

¿Fue útil esta página
0 / 5 - 0 calificaciones