Por que o Apache recebe SIGTERM e simplesmente pára?

1

Eu tenho um servidor rodando nginx para conteúdo estático, com o apache por trás dele, rodando código php e python.

Cerca de uma vez por dia, o Apache simplesmente sai, deixando o Nginx exibindo um erro 502 Bad Gateway. Tudo o que posso encontrar nos logs é que o Apache recebeu o SIGTERM, sem outros detalhes.

[mpm_prefork:notice] [pid 11811] AH00169: caught SIGTERM, shutting down

Ele está funcionando corretamente há algum tempo, sem nenhuma manutenção além de ficar sem espaço em disco. Eu fiz algumas configurações de proxy SSL há alguns meses. Rodando Debian Jessie

    
por JAL 17.02.2018 / 17:46

2 respostas

3

Use o auditd para registrar todos os syscalls do kill. -S kill em um arquivo audit.rules. Veja Como usar a auditoria para monitorar um SYSCALL específico? . As entradas de log conterão o pid, o uid e o exe de cada kill, ache o mesmo antes de o httpd ser desligado.

Suponho que este é um script de rotação de log que não está sendo reiniciado corretamente.

    
por 19.02.2018 / 03:47
1

caught SIGTERM

Isso significa que um sistema está enviando um comando terminate para o Apache. Eu começaria procurando por trabalhos cronológicos do Rogue que parassem / reiniciassem o Apache, ou começassem a examinar seus sar logs para ver se você está tendo problemas com recursos. Quando você está tendo problemas de memória, o servidor irá automaticamente matar processos para se manter vivo. O Apache é tipicamente uma das coisas que serão mortas assim em problemas de memória.

    
por 17.02.2018 / 17:53