Server freeze - como depurar

1

Estou executando um servidor virtual Debian com Apache, PHP, MySQL. Há apenas um site com tráfego muito baixo em execução, mas o servidor muitas vezes (quase todos os dias) congela e não responde.

Quando isso acontece, o servidor não pode ser acessado pelo navegador da web ou pelo SSH e eu tenho que ir para a administração do meu provedor e executar a reinicialização do servidor depois disso, o servidor parece funcionar bem.

Como posso descobrir o que está causando os congelamentos?

Linux vm2797 2.6.32-5-amd64 #1 SMP Tue Jun 14 09:42:28 UTC 2011 x86_64 GNU/Linux

    
por Petr Peller 26.09.2012 / 19:06

4 respostas

3

Reconfigure seu syslog para ir para um servidor diferente - isso envia eventos, qualquer monitoramento monitora o servidor (provavelmente perde o grande segfault, a menos que você pesquise no exato momento em que acontece).

Agarrar os logs na máquina que está falhando é uma má idéia - você sempre perderá as linhas mais importadas (leia por último) dos registros.

man rsyslog.conf fornece informações sobre como redirecionar para outra máquina e como configurar para ouvir mensagens de registro.

Os registros serão exibidos no syslog do host precedido pelo nome do servidor de onde vieram.

No lado da escuta, 'man rsyslogd' lhe dará opções de inicialização que podem ser configuradas em / etc / default / rsyslog (você pode precisar de -4 ou -6). Você pode verificar se está escutando com lsof -p pid_of_rsyslogd

    
por 26.09.2012 / 21:33
2

Se você não vê nada em seus arquivos / var / log / syslog ou / var / log / messages, recomendo que use qualquer ferramenta de registro de status do sistema. Eu uso o nmon (no modo de captura de dados) para monitorar meus sistemas.

Você pode encontrá-lo aqui

    
por 26.09.2012 / 20:46
1

A coisa a fazer aqui é procurar em seus registros. Eles são geralmente encontrados em / var / log. Anote a hora em que você reinicia o sistema e procure nos logs por mensagens imediatamente antes dessa hora.

/var/log/syslog
/var/log/messages
/var/log/apache2/error.log
/var/log/mysql*

seriam bons lugares para começar.

    
por 26.09.2012 / 19:12
0
  • Use um kdump-kernel.
  • Peça ao seu VM-Admin para capturar sua VM, incluindo memória, para análise forense.
  • Ative o SysRQ e faça com que seu VM / Console-Admin emita o comando sync para que os logs sejam gravados no disco
por 26.09.2012 / 22:05