Primeiro pedido: é responsivo?
Se você não conseguir fazer login, haverá problemas maiores em andamento. Isso geralmente vem em dois tipos: falha de hardware e falha de software. Ambos são potencialmente catastróficos. Para evitar erros do DFA, verifique primeiro a integridade geral do hardware - um simples retorno geralmente será suficiente.
Segunda ordem: as estruturas subjacentes do sistema estão em boa saúde e ordem?
Verifique a "Golden Triad" dos sistemas:
- Tempo suficiente da CPU é gratuito para processamento
- O espaço em disco suficiente é gratuito para armazenamento
- A memória suficiente é gratuita para cargas de trabalho
Nas últimas décadas, a tríade expandiu-se para um "quad" que inclui comunicações (networking):
- A conectividade é funcional, responsiva e tem capacidade
Terceira ordem: qual é a gravidade do problema?
Quais programas ou serviços são afetados? Em ordem decrescente de gravidade, é sistêmica (em todo o sistema), agrupada (um grupo de programas) ou isolada (um programa específico)? Geralmente, os clusters de programas estão desativados porque um serviço subjacente específico falhou ou não respondeu. Questões sistêmicas às vezes são relacionadas a isso (pense em conflitos de DNS ou IP), mas saber onde procurar é geralmente a chave.
Quarta ordem: as ferramentas de diagnóstico fornecem dados úteis relevantes para o problema? Agora que você tem informações sobre a integridade do sistema (segunda ordem) e quais partes dele estão com problemas (terceira ordem), isso deve facilitar a localização do problema.
Mensagens de erro ou arquivos de log devem ser um ponto de referência comum nessa jornada.
Problemas da CPU:
- loadav
- top
- strace
Problemas de espaço em disco / IO:
- df
- du
- lsof
- iostat
- vmstat
Problemas de memória:
- grátis
Problemas de conectividade:
- ping
- route (e arp e rarp e amigos)
- iptables, ipchains, ipfw (para aqueles caras do BSD por aí)
- traceroute ou mtr
- hosts, nslookup ou dig
- netstat
Queixa mais comum (que ouço):
O e-mail não está sendo entregue rápido o suficiente (mais de um minuto, do envio ao recebimento pelo destinatário) ou, o e-mail está rejeitando minha tentativa de envio. Isso geralmente se resume ao limitador de taxa no Postfix que entra em ação durante uma tempestade de spam, o que afeta a capacidade de aceitar entregas internas.
Um exemplo da vida real:
No entanto, isso nem sempre é o caso. Uma vez, o problema persistiu independentemente das reinicializações do serviço; Então, depois de 3 minutos, era hora de começar a olhar em volta. A CPU estava ocupada, mas abaixo de 100%, mas a carga subiu para 15 em uma caixa de apenas 2 núcleos, e estava ameaçando subir mais. O comando de cima revelou que o sistema de e-mail estava em overdrive, junto com o verificador de e-mail, mas não havia processos filho do amavis para serem vistos. Essa foi a pista - o comando de fila de mensagens (mailq) mostrou mais de 150 mensagens não entregues, mais de 80% das quais eram spam , nos últimos 20 minutos. Um ajuste rápido para reduzir o limitador de taxa (que reduziu a taxa de ingresso da tempestade de spam) enquanto aumentava o número de processos de verificação de e-mail filho (para ajudar a processar o backlog), seguido por uma reinicialização de serviço, resolveu o problema e o sistema conseguiu para completar as entregas em um curto espaço de tempo.
A causa do problema foi que o processo pai do amavis tinha sido desativado, e os processos-filhos acabaram sendo executados (eles terminam automaticamente depois de tantas varreduras para evitar vazamentos de memória). Então, havia processos SMTP no postfix tentando entrar em contato ... thin air ... para fazer a varredura de spam / vírus que era necessária. A distro que eu estava usando tinha pacotes desatualizados que nunca seriam atualizados; Como a instalação deveria ser substituída em um ano ou mais, eu "subestimei" manualmente a instalação para a versão mais recente, que incluía várias correções de bugs. Eu não tive o mesmo problema desde então.