
PC stressato? Verifica il suo stato di salute con Monitorix
Scopri ed elimina eventuali “colli di bottiglia” che rallentano il tuo computer monitorando costantemente il carico di lavoro a cui sono sottoposti CPU, RAM e Hard Disk
(pagina 2 di 5)
Le risorse “Vitali” del PC
Le componenti cruciali per il buon funzionamento del computer possono
essere legate unicamente all’hardware o dipendere da altri fattori
come il consumo e il costo. Generalmente, quelle da monitorare
con maggiore impegno possono essere così riassunte:
CPU: controllare l’uso del o dei processori
permette di individuare se la
potenza di calcolo è un collo di bottiglia
per il sistema. Se l’utilizzo di
questa risorsa è sempre al massimo, è
utile passare a qualcosa di più potente
o alleggerire il carico di lavoro sulla
macchina;
Memoria RAM: insieme alla CPU, la memoria è un altro collo
di bottiglia critico per l’utilizzo intensivo di diverse applicazioni.
Superata l’occupazione della memoria fisica (in pratica la RAM),
il sistema tende a usare lo spazio swap, fatto che riduce drasticamente
le prestazioni. Nei casi più gravi il sistema va in trashing
fino alla chiusura delle applicazioni per mancanza di memoria;
Hard Disk: le applicazioni non vivono di sola memoria e potenza di
calcolo. Esse devono costantemente scrivere e leggere dati su disco.
Purtroppo, la velocità di accesso a questo componente è molto più
lenta di quella della memoria, quindi, è fondamentale monitorare
sia lo spazio libero che la frequenza di attività e i tempi di accesso.
Per migliorare questi valori si può utilizzare hardware più evoluto
e potente, oppure ottimizzare le applicazioni utilizzate (quando
possibile);
Rete: monitorare il traffico di rete è indispensabile, in particolare
su macchine server, per verificare l’utilizzo dei vari servizi e
determinare colli di bottiglia che possono causare lentezza. Oltre
alle considerazioni tecniche, monitorare la rete assume un aspetto
economico quando la banda consumata viene pagata profumatamente.
Sistemi di Monitoraggio
Un sistema di monitoraggio è un’applicazione o un gruppo di
queste il cui scopo è raccogliere e archiviare periodicamente
informazioni
sul funzionamento del sistema e memorizzarle in una
struttura di dati che possono essere successivamente elaborati e
visualizzati. Non esiste un metodo unico per la raccolta dei dati,in
quanto per ottenere le informazioni sulla risorsa che si sta
monitorando
è necessario utilizzare programmi specifici o richieste
mirate al sistema operativo. Per quanto riguarda GNU/Linux, il
sistema per effettuare i rilevamenti dipende fortemente dalla versione
del kernel in uso, dal tipo di distribuzione e da eventuali
differenze di organizzazione delle risorse. I sistemi più avanzati
risolvono questo problema grazie agli “agent”, applicazioni in
grado di svolgere la rilevazione nella particolare configurazione
di sistema in uso. Per quanto concerne le strutture nelle quali
inserire i dati ottenuti dai rilevamenti, spesso si fa uso di sistemi
meno complicati del classico database MySQL o simile. La ragione
è che i dati statistici raccolti hanno una validità temporale limitata.
Ad esempio, è raro che i livelli medi di impegno della CPU
vecchi di sei mesi siano di qualche interesse. La visualizzazione
delle statistiche in questi sistemi è solitamente possibile attraverso
l’uso di applicazioni web piuttosto che con strumenti dedicati,
ponendo come requisito obbligatorio la presenza di Apache o di
un server web equivalente sul sistema. Tuttavia, questo requisito
può essere inopportuno per macchine desktop. In questo articolo,
come anticipato, illustreremo l’uso e il funzionamento del sistema
di monitoraggio per singolo computer (host) chiamato Monitorix
cercando di mostrare i suoi punti di forza e i difetti.
Gli strumenti necessari
Prima di procedere con l’installazione di Monitorix è indispensabile
installare il necessario per la raccolta dei dati e la loro
visualizzazione. Come anticipato, uno dei requisiti fondamentali
è che il server web Apache sia installato sul sistema, operazione
relativamente semplice, in quanto esso è contenuto come pacchetto
predefinito praticamente su ogni distribuzione. Per il corretto
monitoraggio di alcune risorse e per le notifiche via e-mail sono
necessari anche i seguenti programmi:
- lm_sensors (www.lm-sensors.org): permette di interrogare
le sonde di temperatura, velocità delle ventole e voltaggio
presenti sulle schede madri e su altri tipi di dispositivi;
- hddtemp (www.guzu.net/linux/hddtemp.php): come gli
lm_sensors, questo pacchetto permette il controllo
della temperatura dei dischi rigidi;
- metamail: questo componente è necessario se si desidera
ricevere le e-mail con un sommario delle statistiche. Nelle
release future di Monitorix questo programma potrebbe
non essere più necessario.
Tuttavia, questo non è tutto, manca ancora un componente
fondamentale, quello necessario per memorizzare i dati raccolti.
Vediamo di cosa si tratta.
Rrdtool: indispensabili per organizzare i dati
Dopo lo stesso Monitorix, il requisito più importante è la presenza
degli RRDtool (http://oss.oetiker.ch/rrdtool) sul sistema,
necessari per creare la struttura dati per la memorizzazione dei
rilevamenti. Il termine RRD è l’acronimo di “Round Robin
Database”, ovvero una struttura di memorizzazione che segue
un flusso di dati temporale basato sull’algoritmo Round Robin
(http://it.wikipedia.org/wiki/Round-robin). Le informazioni vengono
memorizzate in base all’istante temporale, il cui intervallo
è specificato durante la creazione della struttura dati. In questo
modo è possibile avere un file a dimensione costante, nella quale
i nuovi dati sostituiscono ciclicamente quelli vecchi. Le strutture
dati create con RRDtool vengono usate dalla maggior parte dei software di monitoraggio (professionali e non). Ciò non è un caso,
in quanto questo software è stato sviluppato appositamente per
questo scopo dal suo autore, il quale aveva già inglobato queste
funzionalità nel software MRTG (Multi Router Traffic Grapher
- http://oss.oetiker.ch/mrtg), da cui derivano gli RRDtools.
Da esso infatti sono state ereditate tutte le funzioni per la creazione
di diagrammi e grafici statistici pronti per essere visualizzati
su una pagina web. Basta unire la facilità di memorizzare
dati alla possibilità di creare facilmente i diagrammi per capire
il perché della proliferazione di applicazioni di monitoraggio che
fanno uso di questo strumento. Data la delicatezza di questo componente,
consigliamo l’installazione dai pacchetti precompilati
forniti per la propria distribuzione: in particolare è necessario
installare “RRDtool” e la sua interfaccia di programmazione per
il linguaggio Perl, “rrdtool-perl”.
 |
Esempio di grafi co generato con gli RRDtool |
Computer sempre sotto il tuo controllo
I grafici di Monitorix permettono di scoprire lo stato di salute del proprio PC. Ecco come
Controllo CPU e RAM
Il primo blocco riguarda la memoria,
i processi attivi e il carico
sulla CPU diviso per media di consumo dei
processi. Questo permette di determinare se
è stata impegnata per eseguire lunghi calcoli
o solo piccole richieste, ma frequenti.
Analisi dell'hard disk
Il blocco relativo ai dischi ha
come quadro centrale lo spazio
occupato, ma quelli più importanti sono posti
a destra: essi mostrano il carico di lavoro
degli hard disk. Se i valori sono troppo alti, le
operazioni su disco saranno molto più lente.
La scheda di rete
Il traffico generato dall’interfaccia
di rete indica l’attività registrata,
la velocità e la presenza di errori di comunicazione
per problemi alla rete o all’hardware
del computer. Purtroppo, in questo grafico,
manca la quantità di banda consumata.