Rotação de log no supervisord

1

Eu configurei vários programas no supervisord. Eles enviam sua saída para o stdout, que é encaminhado para o arquivo usando o supervisord. Existe uma função de logrotation no supervisord, mas o problema é que ele cria um novo arquivo usando a conta 'root' e meus programas (que estão rodando usando a conta de usuário via supervisord) não conseguem escrever lá. É possível configurar um usuário, que será usado para criar um novo arquivo após a rotação?

    
por dbf 23.01.2015 / 18:53

1 resposta

1

Acho que você confundiu o problema dos seus programas (ou talvez não tenha descrito bem a pergunta)

O que o supervisord está fazendo é criar um canal para o seu programa gravar (stdout e talvez stderr) e então o supervisord está lendo aquele canal e escrevendo nos arquivos de log. Em outras palavras, o programa nunca pode deixar de gravar no stdout devido a seus próprios problemas de permissão. O único problema de permissão que pode ocorrer é se o próprio supervisord não puder abrir o novo arquivo de log.

Se você precisar apenas que os logs sejam acessíveis a uma conta específica, tente colocar os arquivos de log em um diretório com o bit set-gid ativado e certifique-se de que o umask do systemd permita a permissão de leitura (ou gravação) do grupo. / p>     

por 26.01.2015 / 23:09