Eu tive meu próprio servidor baseado em máquina virtual rodando em uma empresa de hospedagem profissional por meio ano. Eu não fiz nenhuma mudança em meses.
De repente, alguns dias atrás, meu sistema de monitoramento de sites de terceiros me enviou um e-mail informando que todos os meus sites estão inativos. Reiniciei o apache e funcionou novamente, mas no dia seguinte aconteceu a mesma coisa. Agora estou no meu 3º dia consecutivo disso. Pelo menos nos últimos dois dias, aconteceu entre 7h e 8h no meu horário.
Tudo o que recebo no log de erros do Apache (/var/log/apache2/error_log) é isso:
[Mon May 27 00:33:17.764703 2019] [core:notice] [pid 5405] AH00094: Command line: '/usr/sbin/apache2'
[Mon May 27 00:33:17.927290 2019] [mpm_prefork:notice] [pid 5405] AH00169: caught SIGTERM, shutting down
[Mon May 27 00:52:55.866838 2019] [mpm_prefork:notice] [pid 848] AH00163: Apache/2.4.25 (Debian) OpenSSL/1.0.2r configured -- resuming normal operations
[Mon May 27 00:52:55.879748 2019] [core:notice] [pid 848] AH00094: Command line: '/usr/sbin/apache2'
[Mon May 27 12:47:22.759575 2019] [mpm_prefork:notice] [pid 848] AH00169: caught SIGTERM, shutting down
[Mon May 27 12:47:28.041888 2019] [mpm_prefork:notice] [pid 5572] AH00163: Apache/2.4.25 (Debian) OpenSSL/1.0.2r configured -- resuming normal operations
[Mon May 27 12:47:28.041936 2019] [core:notice] [pid 5572] AH00094: Command line: '/usr/sbin/apache2'
[Mon May 27 12:47:28.212269 2019] [mpm_prefork:notice] [pid 5572] AH00169: caught SIGTERM, shutting down
[Mon May 27 15:54:59.721916 2019] [mpm_prefork:notice] [pid 6550] AH00163: Apache/2.4.25 (Debian) OpenSSL/1.0.2r configured -- resuming normal operations
[Mon May 27 15:54:59.721963 2019] [core:notice] [pid 6550] AH00094: Command line: '/usr/sbin/apache2'
É a 3ª linha de baixo quando o sistema caiu, eu acredito. Parece que o apache foi desligado, mas não inicializou novamente.
Eu sei o suficiente sobre Linux para ser perigoso, mas estou ficando sem ideias de onde mais procurar.
Quais outros arquivos de log você recomendaria verificar e quais outras etapas de solução de problemas posso executar, por exemplo, adicionar log extra etc.?
Isso está sendo executado no Debian 9 e ninguém mais tem acesso a nada no servidor. Ele roda Apache2, MySQL e PHP7.
Obrigado!
SIGTERM enviado para httpd significa parar agora . Encontre o que está enviando este sinal.
killsnoop é um script fácil de fazer isso. No entanto, o BPF não estará disponível no Debian 9. (Às vezes, cavar no repositório bcc revela outras implementações pré-BPF, mas nem sempre.)
Ou você pode configurar o auditd para registrar kill syscalls.
Anti-padrões para procurar, em crontabs e em qualquer outro lugar: