Come monitorare lo stato di salute del server

Come monitorare lo stato di salute del server5 step per un check-up veloce ed efficiente del tuo server di hosting

Ci troviamo spesso di fronte a richieste di consigli su come monitorare lo stato di salute del proprio server. Abbiamo quindi deciso individuare i cinque passaggi, che riteniamo fondamentali, che occorrono per effettuare un controllo di tipo last second al proprio server perché, se non si è esperti, a volte è un po’ come guardare nel cofano di una macchina!

Consumo della memoria

La memoria disponibile è uno dei fattori più importanti da tenere sotto controllo. Ogni applicazione, programma o altro genere di servizio ha bisogno di memoria e a lungo andare si potrebbero avere delle spiacevoli sorprese. Saturare la memoria significa infatti compromettere l’efficienza della macchina, che non riuscirebbe a gestire in modo corretto le richieste che deve elaborare.

Occorre quindi tenere sotto controllo il consumo della memoria per capire se è il caso di apportare qualche cambiamento lato server come, ad esempio, un upgrade o eventualmente disattivare qualche applicazione.

Tra gli strumenti utili, installati di default sui sistemi Linux, c’è “free“, “top” e “vmstat”:

  • free: è un comando che visualizza in output la quantità di memoria libera, utilizzata e quella in cache. Linux usa automaticamente tutta la RAM libera per la cache di buffer (diminuendo la cache automaticamente quando i programmi hanno bisogno di più RAM), in quanto è più performante liberare delle pagine di memoria quando serve che allocarla al momento del bisogno. Può essere utilizzato con una serie di variazioni a seconda delle informazioni che desiderate visualizzare. Per esempio, aggiungete “-m” per visualizzare le informazioni in megabyte, o “-h” per avere dei risultati più facili da consultare.
  • top:  monitorare le risorse significa monitorare i processi e top mostra in tempo reale la memoria utilizzata da ciascun processo in esecuzione. A intervalli regolari l’applicazione esegue l’aggiornamento automatico dei dati mostrati, ordinati secondo un criterio basato sul consumo di risorse.
  • vmstat: permette di verificare in tempo reale la quantità di memoria RAM e di SWAP utilizzata.

Carico del server

Per monitorare la situazione si possono eseguire dei comandi direttamente da terminale. Di seguito alcuni più diffusi.

  • w: permette di verificare l’attuale carico di lavoro del server e quello dei precedenti 5 e 15 minuti.
  • sar: visualizza dettagliate informazioni sulle attività di sistema, come dati statistici sull’utilizzo del disco, CPU ed impiego di memoria. L’applicazione permette di consultare uno storico di tutti questi dati, anche di diversi giorni prima.
  •  iostat:  visualizza in output due tipologie di report, il primo relativo all’utilizzo del processore, ed il secondo relativo alle statistiche di I/O di ogni device/partizione attiva nel sistema.

Tuttavia, se le risorse presenti sul server non sono sufficienti a gestire le richieste effettuate dai visitatori dei siti o in generale dalle attività svolte sul sistema, potrete utilizzare il nostro pannello di provisioning per eseguire un upgrade in tempo reale oppure implementare il load-balancing.

Numero dei file aperti e limiti imposto al sistema operativo

Nei sistemi Unix i file descriptor sono utilizzati dai programmi per puntare ai file che vengono aperti. Ogni utente ha dei limiti di file descriptor che può utilizzare (di default sono impostati a 1024). Un server che ospita molti siti, potrebbe saturare facilmente il limite, tenendo presente che all’avvio del server web, anche senza nessuna visita, per ogni sito vengono mantenuti aperti 2 file (il log degli accessi e quello degli errori).

Potete verificare il numero di file descriptor massimi di un processo eseguendo il comando: cat /proc/PID/limits

Il PID associato al processo che volete analizzare lo potete trovare con il comando ps

Nel caso in cui si voglia aumentare questo valore, si può agire da terminale aprendo il file /etc/sysctl.conf ed editando il valore associato alla direttiva fs.file-max

Per conoscere il numero totale di file aperti nel sistema in un determinato momento, potete digitare: lsof | wc -l

Query lente al database

L’individuazione delle slow query è estremamente utile per evitare che le richieste al database si accodano e monopolizzano le risorse del server, rendendolo inutilizzabile. Analizzandole è possibile procedere con una ottimizzazione di MySQL.

Per farlo si può eseguire da terminale e quindi tramite una connessione SSH l’utility “mytop” oppure “mysqladmin”.

Controllo log

E’ di fondamentale importanza analizzare periodicamente i file di log di sistema, in particolar modo:

  • il log del kernel: digitando il comando dmesg, potrete identificare con estrema semplicità situazioni di out-of-memory, processi terminati per errore, ecc.
  • il log degli accessi e quindi /var/log/auth.log: ogni volta che un attacker tenterà di indovinare la password di un vostro account, il sistema memorizzerà un’apposita entry in questo file. E’ utile identificare queste attività perché, anche nel caso in cui state utilizzando password “robuste”, un attacco di tipo bruteforce può comunque rallentare l’intero sistema.
  • log degli errori dei siti web: ideale per avere sotto controllo gli ultimi errori del portale. In questo modo si riescono a individuare facilmente problemi di vario genere, come file mancanti o errate configurazioni. Queste informazioni, il più delle volte, vengono memorizzate ad ogni accesso al sito e portano facilmente a situazioni che causano l’esaurimento dello spazio sul disco.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*

Accedi

Registrati | Password dimenticata?