O supervisor silenciosamente falha ao iniciar / reiniciar (nada nos logs)

1

Eu tenho uma configuração básica de supervisor:

[program:drape]
process_name=%(program_name)s_%(process_num)02d
command=python /home/ubuntu/drape/workers/drape.py
numprocs=1
autostart=true
autorestart=true
nocleanup=true
stdout_logfile=/home/ubuntu/supervisord.out.log
stdout_logfile_maxbytes=32MB
stderr_logfile=/home/ubuntu/supervisord.err.log
stderr_logfile_maxbytes=32MB
startsecs=180

Eu não acho que essa configuração realmente importe, mas publique mesmo assim. Estou usando a configuração global do supervisor de estoque. Eu instalei o supervisor via padrão sudo apt-get -y install supervisor ... e só para ter certeza:

$ sudo apt-get -y install supervisor
Reading package lists... Done
Building dependency tree       
Reading state information... Done
supervisor is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 69 not upgraded.

No entanto, quando tento iniciar o supervisor, obtenho uma falha completamente silenciosa:

ubuntu@...:~$ sudo service supervisor start
ubuntu@...:~$

Não há nada nos logs (Minha configuração global possui logfile=/var/log/supervisor/supervisord.log ) e não há nada nos "logs de programa" ( logfile=/var/log/supervisor/supervisord.log.<stream>.log ).

Eu tenho um processo de provisionamento similar para outros servidores que executam daemons do Ruby, então para cavar um pouco mais, eu até criei um script ruby muito simples e fiz chmod 777 a coisa para que não houvesse problemas de permissão:

$ cat test.rb 
while 1
 puts "hi"
 sleep 1
end
$ ruby test.rb 
hi
hi
hi
...

Minha pergunta é mais ... "onde devo procurar" pergunta. Se o supervisor não está registrando nada, o único outro lugar que posso pensar é o syslog que não indica nada de louco para mim.

    
por Tony 10.12.2014 / 21:12

2 respostas

2

A falha silenciosa deve-se a esta falha na linha:

DAEMON=/usr/bin/supervisord
test -x $DAEMON || exit 0

no script de inicialização do supervisor. Parece que por algum motivo o supervisord foi instalado em /usr/local/bin/ nesta máquina. Super irritante que nada é impresso ...

    
por 10.12.2014 / 22:00
0

Apenas uma dica para outras pessoas que podem estar com dificuldades, tente executar o daemon diretamente

/usr/bin/supervisord

e você deve realmente ver os erros que impedem a execução do supervisor. O script de inicialização do supervisor é inútil para procurar os erros de configuração.

    
por 16.11.2017 / 16:11