
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 4 di 5)
La configurazione di Selinux con Monitorix
Nelle ultime release di RedHat, CentOS e Fedora la configurazione
di default fa uso della piattaforma SELinux per aumentare
la sicurezza del sistema. Purtroppo, le operazioni effettuate dal
monitoraggio rientrano tra quelle bloccate dalle politiche di default
di questo componente. A questo punto, molti suggeriscono
la disattivazione di SELinux, ma in realtà esistono diverse soluzioni
per risolvere il problema creando un modulo di policy
di sicurezza ad-hoc per Monitorix. Una soluzione semplice può
essere quella seguente: fermiamo tutti i servizi non essenziali, in
modo da non generare violazioni catturate da SELinux non dovute
a Monitorix e svuotiamo il file “/var/log/audit/audit.log”.
Avviamo Monitorix ed apriamo la pagina del browser con le statistiche.
Se tutti i grafici si vedono correttamente, non abbiamo
bisogno di effettuare ulteriori modifiche, altrimenti passiamo al
punto successivo. Eseguiamo il seguente comando in una directory
temporanea:
audit2allow -i /var/log/audit/audit.log -M
MonitorixPolicies
Grazie al comando precedente abbiamo generato una policy con
le regole per accettare quello che era stato precedentemente negato.
Infine, carichiamo la policy in SELinux utilizzando il comando
seguente:
semodule -i MonitorixPolicies.pp
Fatto ciò, torniamo nuovamente al secondo passo per essere sicuri
di avere catturato tutte le funzioni in precedenza negate dal
sistema di sicurezza. Ovviamente, questa guida è utile anche qualora
usassimo una distribuzione diversa, ma sempre con il sistema
SELinux attivo.
C’è anche Stresslinux
Una distro per mettere sotto stress il PC
All’indirizzo www.stresslinux.org è disponibile una vera e
propria distribuzione GNU/Linux, chiamata appunto Stresslinux,
avviabile direttamente da CD che permette di eseguire
una serie di test atti a verificare le performance del
sistema e il carico di lavoro che è in grado di sopportare.
La distribuzione offre come predefiniti strumenti di analisi
e monitoraggio come stress, cpuburn, hddtemp, lm_sensors
e moltissimi altri.
Guardiamo dentro
Monitorix. Ecco come è fatto
Per capire meglio i punti di forza e le debolezze di questo software
è necessario spiegare come esso è strutturato. Monitorix è
composto da due script Perl più una serie di file di configurazione
preparati per le diverse distribuzioni. Tutto il sistema di
monitoraggio
può essere così riassunto:
- monitorix.pl - svolge tutte le funzioni di raccolta dati. Invoca
to dallo script situato nella directory “/etc/init.d” provvede a
creare i file rrd, la directory e il file HTML di presentazione
nella Document Root di Apache. Inoltre, sempre lo stesso
script Perl, configura il crontab dell’utente amministratore
per essere seguito periodicamente in automatico. Infatti, nel
momento in cui viene eseguito da cron, il programma effettua
la raccolta dei dati;
- monitorix.cgi : lo script CGI invocato da Apache si occupa
di recuperare i dati archiviati, generare le immagini attraverso
le funzioni di RRDtool e mostrarli all’utente.
I due script così organizzati dovrebbero portare ad una capacità
di adattamento maggiore. In pratica, lo script principale di Monitorix
ha il difetto di inglobare l’invocazione dei controlli unicamente
in base alla voce relativa alla distribuzione nella configurazione.
Questo approccio ha notevoli difetti, il più importante
dei quali è la difficoltà di aggiungere il supporto ad una nuova
distribuzione o mantenere aggiornati i controlli quando una
distribuzione
precedentemente supportata cambia qualcosa di rilevante
per Monitorix. Inoltre, lo script non dispone di una gestione
di agenti remoti, per cui è possibile monitorare unicamente la
macchina corrente, mentre sistemi di monitoraggio concorrenti
permettono di centralizzare i controlli di una intera LAN. Tuttavia,
Monitorix è consigliato per monitoraggi semplici che non
richiedono particolari esigenze.
Configurazione avanzata
Gli aspetti finora analizzati riguardano il funzionamento di
base del sistema di monitoraggio, ma c’è molto di più. Intervenendo
sulle impostazioni avanzate di Monitorix, oltre che
personalizzare esteticamente i grafici, la parte più importante
riguarda l’opportunità di stabilire quali risorse monitorare.
Applicare semplici modifiche non è complicato, ma fare
aggiunte non è una pratica alla portata di tutti. In sostanza,
anche se è vero che non bisogna essere veri esperti, è comunque
necessario conoscere in modo abbastanza approfondito il
linguaggio di programmazione Perl, la cui sintassi deve essere
rispettata anche nel file di configurazione di Monitorix. Se, ad
esempio, volessimo monitorare il traffico gestito dal servizio
“OpenVPN” (in pratica quello relativo alle reti private virtuali),
potremmo “sacrificare”, nel senso di modificare, il grafico
di un servizio non di nostro interesse e adattarlo al monitoraggio
di quello nuovo. Ad esempio, per quanto riguarda Open-
VPN, basterebbe applicare le seguenti modifiche:
our $PORT09=”4559”; -> our $PORT09=”1194”;
our $PORT09_NAME=”FAX”; -> our $PORT09_
NAME=”Openvpn”;
In effetti, è evidente che la personalizzazione di un grafico
o la creazione di una direttiva a partire da una già esistente
sono abbastanza semplici e alla portata di tutti, anche di chi
è a digiuno di programmazione Perl. Al contrario, l’aggiunta
di una nuova direttiva ex novo, implica la creazione di due
nuove voci per la porta e l’impostazione dei limiti posti nelle
direttive stesse:
our $PORT13_RIGID=”2”;
our $PORT13_LIMIT=”1000”;
Per la posizione del grafico sulla griglia e il limite superiore, infine, è necessario aggiungere quanto segue:
our %GRAPHS =(“CPU load” => “_cpu1”,
[Omissis]
“Port 13 traff ic” => “_port13”,
[Omissis]
Purtroppo fare aggiunte è molto complesso in quanto Monitorix
è stato sviluppato senza tenere conto della possibilità
di espansione che un sistema maggiormente modulare
avrebbe potuto offrire. Questo aspetto comunque, non intacca
la validità generale del software, che resta utilissimo
per il monitoraggio dei singoli sistemi, sopratutto all’interno
di una rete, in particolare se di grandi dimensioni,
dove l’opportunità di poter tenere sotto controllo decine di
computer attraverso una comune connessione di rete e un
semplice browser web è importante per qualsiasi amministratore.
Tutto questo al prezzo di una procedura di installazione
tutto sommato semplice, almeno su alcune disribuzioni
in particolare e con pochi strumenti di cui ogni sistema
GNU/Linux, anche quelli desktop oriented, dispone.
Non solo hardware
Grazie a Monitorix possiamo controllare servizi, utenti e traffico di rete
Richiesta servizi
Al contrario di altri sistemi simili,
Monitorix permette di monitorare
il numero di richieste verso i servizi presenti
sulla macchina utilizzando un calcolo incrementale.
I blocchi a destra sono riservati
ai servizi di maggiore interesse (di default
HTTP e POP3).
Traffico di rete
Tra le altre cose è presente un
diagramma che esprime la banda
consumata per ogni porta monitorata. Le
porte possono essere comunque cambiate
nel file di configurazione. Qualora non siano
presenti dati, il diagramma sarà colorato
interamente di rosso.
Monitoraggio utenti
Tra le risorse da monitorate è
presente anche il numero di
utenti locali/SSH che hanno avuto accesso
al PC e quelli relativi a connessioni Samba
e Netatalk. Se non ritenete questo grafico
utile, potete disabilitarlo, infatti, il più delle
volte non viene usato.