Primo ordine: è reattivo?
Se non riesci ad accedere, ci sono problemi più grandi in corso. Questo in genere si presenta in due modi: errore hardware e errore software. Entrambi sono potenzialmente catastrofici. Per evitare errori DFA, controlla innanzitutto lo stato generale dell'hardware: di solito basta un semplice sguardo.
Secondo ordine: le strutture sottostanti del sistema sono in buona salute e ordine?
Controlla la "Triade d'oro" dei sistemi:
- Il tempo sufficiente della CPU è gratuito per l'elaborazione
- Lo spazio su disco sufficiente è gratuito per l'archiviazione
- Una memoria sufficiente è gratuita per i carichi di lavoro
Negli ultimi decenni, la triade si è espansa in un "quad" che include le comunicazioni (networking):
- La connettività è funzionale, reattiva e ha capacità
Terzo ordine: qual è la gravità del problema?
Quali programmi o servizi sono interessati? In ordine decrescente di gravità, è sistemico (a livello di sistema), raggruppato (un gruppo di programmi) o isolato (un programma specifico)? I cluster di programmi in genere si attivano perché uno specifico servizio sottostante ha fallito o non ha risposto. A volte i problemi sistemici sono correlati a questo (si pensi a conflitti DNS o IP) ma sapere dove cercare di solito è la chiave.
Quarto ordine: gli strumenti diagnostici forniscono dati utili rilevanti per il problema?
Ora che hai informazioni sull'integrità del sistema (secondo ordine) e su quali parti di esso stanno riscontrando problemi (terzo ordine), ciò dovrebbe semplificare la definizione del problema.
Messaggi di errore o file di registro dovrebbero essere un waypoint comune in questo viaggio.
Problemi di CPU:
Problemi di spazio su disco / I / O:
Problemi di memoria:
Problemi di connettività:
- ping
- route (e arp e rarp e amici)
- iptables, ipchains, ipfw (per quelle persone di BSD là fuori)
- traceroute o mtr
- host, nslookup o scavare
- netstat
Reclamo più comune (che ho sentito):
L'e-mail non viene consegnata abbastanza velocemente (più di un minuto dall'invio alla ricezione per destinatario) oppure l'e-mail rifiuta il mio tentativo di invio. Questo di solito si riduce al limitatore di velocità in Postfix che si avvia durante una tempesta di spam, il che influisce sulla capacità di accettare la consegna interna.
Un esempio di vita reale:
Tuttavia, questo non è sempre il caso. Una volta, il problema persisteva indipendentemente dal riavvio del servizio; così dopo 3 minuti era tempo di iniziare a guardarsi intorno. La CPU era occupata ma al di sotto del 100%, ma il carico era salito a 15 su una scatola di soli 2 core e stava minacciando di aumentare. Il comando principale ha rivelato che il sistema di posta era in overdrive, insieme allo scanner di posta, ma non c'erano processi figlio di amavis da vedere. Questo era l'indizio: il comando della coda di posta (mailq) mostrava oltre 150 messaggi non consegnati, oltre l'80% dei quali erano spam, negli ultimi 20 minuti. Una rapida regolazione per abbassare il limitatore di velocità (che ha ridotto il tasso di assunzione della tempesta di spam) aumentando il numero di processi di scansione e-mail figlio (per aiutare a elaborare il backlog), seguito da un riavvio del servizio, risolto il problema e il sistema è stato in grado per completare le consegne in breve tempo.
La causa del problema era che il processo genitore di amavis si era interrotto e i processi figlio alla fine avevano seguito il loro corso (si sono interrotti automaticamente dopo così tante scansioni per evitare perdite di memoria). Quindi ci sono stati processi SMTP in postfix nel tentativo di contattare ... thin air ... per eseguire la scansione spam / virus necessaria. La distribuzione che stavo usando aveva pacchetti obsoleti che non sarebbero mai stati aggiornati; poiché l'installazione doveva essere sostituita tra circa un anno, ho "sostituito" manualmente l'installazione all'ultima versione, che includeva diverse correzioni di bug. Da allora non ho più avuto lo stesso problema.